הערכה בקצר חשמלי
חלק מהיחידה יסודות במסלול ה-Lua של Coddy. שיעור 23 מתוך 90.
כאשר Lua מעריכה את האופרטורים and ו־or, היא משתמשת בכלל שנקרא הערכה בקצר חשמלי. פירוש הדבר הוא ש־Lua מפסיקה להעריך ברגע שהיא יודעת מה תהיה התוצאה הסופית, וייתכן שהיא תדלג לחלוטין על חלקים מהביטוי.
עבור האופרטור and, אם התנאי הראשון הוא false, Lua יודעת מיד שהביטוי כולו יהיה false בלי לבדוק את התנאי השני:
playerAlive = false
hasWeapon = true
canFight = playerAlive and hasWeapon
-- Lua בודקת רק את playerAlive (false), ולעולם אינה מעריכה את hasWeaponבדומה לכך, עבור האופרטור or, אם התנאי הראשון הוא true, Lua יודעת שהתוצאה תהיה true ומדלגת על התנאי השני:
hasKey = true
hasPassword = false
canEnter = hasKey or hasPassword
-- Lua בודקת רק את hasKey (true), ולעולם לא מעריכה את hasPasswordהערכה מקוצרת לא רק חוסכת עבודה: היא קובעת איזה קוד ירוץ. כאן הבדיקה השנייה בטוחה רק משום ש-Lua מדלגת עליה כאשר lives הוא nil:
lives = nil -- עדיין אין ערך
canPlay = lives ~= nil and lives > 0
print(canPlay) -- falseבלי הערכה מקוצרת, lives > 0 היה עוצר את התוכנית עם שגיאה, כי אי אפשר להשוות את nil למספר. תשתמש בזה לעיתים קרובות: בדוק שערך קיים לפני שאתה משתמש בו.
נסו בעצמכם
השיעור הזה לא כולל אתגר קוד.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
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()חזרה – עיצוב שם משתמש3אופרטורים 1: חשבון ושרשור
אופרטורים אריתמטייםאופרטור מודולואופרטור חזקהשרשור מחרוזותקדימות אופרטוריםסיכום – חישובים פשוטים9יסודות הפונקציות
הגדרת פונקציהקריאה לפונקציהפונקציות עם פרמטריםפונקציות עם כמה פרמטריםהפקודה 'return'סיכום – מחשבון שטחתרגלו בעצמכם: קומפיילר Lua אונליין