למה להשתמש במשתנים מקומיים?
חלק מהיחידה יסודות במסלול ה-Lua של Coddy. שיעור 85 מתוך 90.
מניעת התנגשויות בשמות: היתרון החשוב ביותר של משתנים מקומיים הוא שהם מונעים ממך לדרוס בטעות משתנים אחרים בעלי אותו שם. כשמשתמשים במשתנים גלובליים לאורך כל התוכנית, קל להשתמש בטעות שוב בשם של משתנה ולשנות ערך שלא התכוונת לשנות.
score = 100 -- הניקוד של השחקן
function countEnemies()
score = 0 -- נועד לשמש כמונה רק עבור הפונקציה הזו
for i = 1, 3 do
score = score + 1
end
return score
end
countEnemies()
print(score) -- 3: הניקוד של השחקן נדרס!הפונקציה הייתה אמורה להשתמש במונה משלה, אבל מכיוון ש־score הוא גלובלי, היא שינתה במקום זאת את הניקוד של השחקן. הוספת local מעניקה לפונקציה משתנה נפרד שקיים רק בתוכה:
function countEnemies()
local score = 0 -- משתנה חדש, רק בתוך הפונקציה הזו
for i = 1, 3 do
score = score + 1
end
return score
end
countEnemies()
print(score) -- 100: המשתנה הגלובלי score לא השתנהבעזרת משתנים מקומיים, לכל פונקציה ולכל בלוק יש משתנים נפרדים משלהם, כך שקוד במקום אחד לא יכול לשנות בטעות ערכים שנעשה בהם שימוש במקום אחר.
נסו בעצמכם
השיעור הזה לא כולל אתגר קוד.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים 2: יחסים ולוגיקה
אופרטורי שוויוןאופרטורים יחסייםהאופרטור 'and'האופרטור 'or'האופרטור 'not'הערכה בקצר חשמליערכים אמתיים ושקרייםסיכום – לוגיקה פשוטה10טבלאות חלק 1: בסגנון רשימה
מהי טבלה?יצירת טבלהגישה לאיברים לפי אינדקסשינוי איברים לפי אינדקסאופרטור האורך '#'table.insert()table.remove()סיכום - ניהול חברי החבורה13פרויקט: חנות שיקויים פשוטה
הגדרת הפרויקטהוספת שיקוי2משתנים וסוגי נתונים
מהו משתנה?מספריםמחרוזותערכים בוליאנייםהערך 'nil'הפונקציה type()מוסכמות למתן שמותסיכום – פרופיל דמות5פלט בסיסי
הדפסת ערכים מילולייםהדפסת משתניםהדפסת ערכים מרוביםשילוב מחרוזות ומשתניםהפונקציה tostring()קלטהמרת טיפוסיםסיכום – דוח מצבסיכום – עד 1208יסודות עיבוד מחרוזות
string.len()string.upper ו־string.lowerstring.sub()string.rep()string.find()חזרה – עיצוב שם משתמש11טבלאות 2: בסגנון מילון
זוגות מפתח-ערךיצירת טבלאות בסגנון מילוןגישה באמצעות תחביר סוגריים מרובעיםגישה באמצעות תחביר נקודההוספה ושינוי של זוגותהסרת זוגות באמצעות nilסיכום - מאפייני פריטים14תחום התחולה של משתנים
משתנים גלובלייםמשתנים מקומייםלמה להשתמש במשתנים מקומיים?תחום התחולה ובלוקיםסיכום - חידת תחום התחולה3אופרטורים 1: חשבון ושרשור
אופרטורים אריתמטייםאופרטור מודולואופרטור חזקהשרשור מחרוזותקדימות אופרטוריםסיכום – חישובים פשוטים9יסודות הפונקציות
הגדרת פונקציהקריאה לפונקציהפונקציות עם פרמטריםפונקציות עם כמה פרמטריםהפקודה 'return'סיכום – מחשבון שטחתרגלו בעצמכם: קומפיילר Lua אונליין