חב"דפדיה:לואה – הבדלי גרסאות
אין תקציר עריכה |
|||
| שורה 1: | שורה 1: | ||
ההרחבה '''Scribunto''', שמאפשרת כתיבת מודולים בשפת ''' | ההרחבה '''Scribunto''', שמאפשרת כתיבת מודולים בשפת '''Lua''' ושימוש בהם ב[[חב"דפדיה:תבנית|תבניות]], הופעלה בחב"דפדיה העברית. | ||
למרבה הצער קצת קשה למצוא תיעוד שימושי. תיעוד כללי לשפת Lua קיים, אבל תעוד שמסביר את השימוש בחב"דפדיה קצת יותר קשה למצוא. | |||
==איך זה פועל== | ==איך זה פועל== | ||
להבדיל מתבניות, שהן בעצם דפים "רגילים" שיכולים להימצא במרחב שם כלשהו, מודולים חייבים להמצא במרחב שם חדש שנקרא "יחידה" (באנגלית module). כל יחידה מחזירה משתנה מקומי, שהשדות השונים שלו הם פונקציות שתבניות יכולות להשתמש בהן. | להבדיל מתבניות, שהן בעצם דפים "רגילים" שיכולים להימצא במרחב שם כלשהו, מודולים חייבים להמצא במרחב שם חדש שנקרא "יחידה" (באנגלית module). כל יחידה מחזירה משתנה מקומי, שהשדות השונים שלו הם פונקציות שתבניות יכולות להשתמש בהן. | ||
| שורה 80: | שורה 79: | ||
#כשמשתמשים בשם מודול באותיות לטיניות, השם '''חייב''' להתחיל באות גדולה, ובאופן כללי השם הוא תלוי רישיות. בקריאה למודול (כלומר כשמפעילים את מילת הקסם invoke#), המערכת תחליף את האות הראשונה בשם המודול שמועבר לקריאה באותו התו מותמר לאות גדולה. במודול רגיל, אותה התמרה מתבצעת בשם הדף עצמו. בשימוש ב"ארגז חול לתבניות", האות הראשונה ב"שם המודול" היא בעצם אות שנמצאת באמצע השם (כלומר, במקום שם דף "אתגר" במרחב "יחידה", שם הדף הוא בעצם יחידה:אתגר, במרחב המשתמש) ולכן המערכת לא מתמירה אותה אוטומטית לאות גדולה. בגלל שההתמרה בקריאה למודול עדיין מתבצעת, באחריות המשתמשת לייצר את הדף בשם שנפתח באות גדולה. אם שם המודול הוא בעברית, בעיה זו לא קיימת. | #כשמשתמשים בשם מודול באותיות לטיניות, השם '''חייב''' להתחיל באות גדולה, ובאופן כללי השם הוא תלוי רישיות. בקריאה למודול (כלומר כשמפעילים את מילת הקסם invoke#), המערכת תחליף את האות הראשונה בשם המודול שמועבר לקריאה באותו התו מותמר לאות גדולה. במודול רגיל, אותה התמרה מתבצעת בשם הדף עצמו. בשימוש ב"ארגז חול לתבניות", האות הראשונה ב"שם המודול" היא בעצם אות שנמצאת באמצע השם (כלומר, במקום שם דף "אתגר" במרחב "יחידה", שם הדף הוא בעצם יחידה:אתגר, במרחב המשתמש) ולכן המערכת לא מתמירה אותה אוטומטית לאות גדולה. בגלל שההתמרה בקריאה למודול עדיין מתבצעת, באחריות המשתמשת לייצר את הדף בשם שנפתח באות גדולה. אם שם המודול הוא בעברית, בעיה זו לא קיימת. | ||
כשהמשתמשת מבקשת להציג דף כלשהו | כשהמשתמשת מבקשת להציג דף כלשהו בוחב"דפדיה או קוד ויקי שמוזן בקופסה המתאימה ב"ארגז חול לתבניות", הדף המוצג לא נלקח מזיכרון המטמון של השרת, אלא מחושב מחדש, כשעבור כל תבנית ומודול שנמצאים בשימוש, המערכת בודקת האם דף בשם המתאים נמצא תחת "תחילית לארגז חול". אם תבנית או מודול כאלו קיימים, המערכת תשתמש בהם. אם לא, היא תשתמש בתבנית או המודול שקיים במרחב התבניות או המודולים בשם זה. בדוגמה שלנו, "תחילית לארגז חול" היא "משתמשת:אלמונית/ארגז חול", ולכן כשהמערכת תיתקל ב {{משמאל לימין|<nowiki>{{#invoke:אתגר|....}}</nowiki>}}, המערכת תריץ את הקוד שנמצא בדף "משתמשת:אלמונית/ארגז חול/יחידה:אתגר". | ||
==ראו גם== | ==ראו גם== | ||
* [[ | * [[חב"דפדיה:לואה/בדיקות]] | ||
* [[ | * [[חב"דפדיה:לואה/בקשות למודולים]] | ||
* לרשימת היחידות ראו [[מיוחד:דפים המתחילים ב/יחידה:]] | * לרשימת היחידות ראו [[מיוחד:דפים המתחילים ב/יחידה:]] | ||