סיכום – חישובי וקטורים
חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-Lua של Coddy. שיעור 54 מתוך 54.
אתגר
קלכתבו פונקציה createVector שמקבלת את הקואורדינטות x ו־y ומחזירה מחרוזת שמדגימה פעולות על וקטורים.
צרו בנאי לווקטור שבונה טבלה עם השדות x ו־y, ואז מצרף אליה מטא־טבלה שמממשת את __add לחיבור וקטורים ואת __tostring לייצוג מחרוזתי מותאם אישית. הפונקציה צריכה ליצור שני וקטורים באמצעות הקואורדינטות שסופקו, לחבר אותם ולהחזיר את ייצוג המחרוזת של התוצאה.
לוגיקה:
- צרו פונקציית בנאי שבונה טבלת וקטור עם השדות x ו־y
- הגדירו מטא־טבלה עם
__addשמחברת את רכיבי x ו־y המתאימים - הגדירו את
__tostringכך שתחזיר את הפורמטVector(x, y) - צרפו את המטא־טבלה לווקטור באמצעות
setmetatable() - צרו את הווקטור הראשון עם הקואורדינטות (x, y)
- צרו את הווקטור השני עם הקואורדינטות (x, y)
- חברו את שני הווקטורים באמצעות האופרטור
+ - החזירו את ייצוג המחרוזת של הווקטור שהתקבל באמצעות
tostring()
פרמטרים:
x(number): קואורדינטת ה־x של שני הווקטוריםy(number): קואורדינטת ה־y של שני הווקטורים
החזרות: ייצוג המחרוזת של סכום שני וקטורים (מחרוזת). פורמט: Vector(6, 8) עבור הקלט (3, 4)
נסו בעצמכם
function createVector(x, y)
-- כתבו כאן קוד
end
כל השיעורים ביחידה לוגיקה וזרימת התוכנית
1איטרציה מתקדמת בטבלאות
איטרציה באמצעות pairs()איטרציה באמצעות ipairs()pairs() לעומת ipairs()סיכום – גיליון דמות2פונקציות נוספות של ספריית הטבלאות
table.concat()בניית טבלה ו־unpack()table.sort()מיון מותאם אישית באמצעות פונקציותסיכום – לוח שיאים3מושגים מתקדמים בפונקציות
החזרת ערכים מרוביםפונקציות עם מספר משתנה של ארגומנטים (...)פונקציות כערכים ממדרגה ראשונהפונקציות אנונימיותמהי סגירה (Closure)?סיכום – מטפל אירועים פשוט9קורוטינות למתחילים
מהי קורוטינה?יצירה וחידוש של קורוטינההשהיה באמצעות coroutine.yield()חידוש והשהיהבדיקת מצב הקורוטינהסיכום – מחולל מספריםסיכום – חישובי וקטוריםתרגלו בעצמכם: קומפיילר Lua אונליין