סיכום – מחולל מספרים
חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-Lua של Coddy. שיעור 53 מתוך 54.
אתגר
קלכתבו פונקציה createNumberGenerator שמקבלת את count ומחזירה מחרוזת המציגה את כל המספרים שנוצרו על ידי קורוטינה.
צרו קורוטינה שיוצרת מספרים ברצף, החל מ־1. בכל פעם שמחדשים את פעולת הקורוטינה, עליה להניב את המספר הבא ברצף. חדשו את פעולת הקורוטינה count פעמים כדי לאסוף את כל המספרים שנוצרו, ואז החזירו אותם כמחרוזת אחת, כאשר כל מספר מופיע בשורה חדשה.
לוגיקה:
- צרו פונקציה שמשתמשת בלולאה כדי להניב את המספרים 1, 2, 3 וכן הלאה.
- עטפו את הפונקציה הזו בקורוטינה באמצעות
coroutine.create() - חדשו את פעולת הקורוטינה
countפעמים, תוך איסוף כל מספר שהיא מניבה - שרשרו את כל המספרים, עם תווי שורה חדשה ביניהם
- החזירו את המחרוזת המשורשרת
פרמטרים:
count(מספר): מספר הערכים שיש ליצור מהרצף
ערך מוחזר: מחרוזת המכילה את כל המספרים שנוצרו, מופרדים בתווי שורה חדשה (מחרוזת). פורמט: 1\n2\n3
נסו בעצמכם
function createNumberGenerator(count)
-- כתבו כאן קוד
end
כל השיעורים ביחידה לוגיקה וזרימת התוכנית
1איטרציה מתקדמת בטבלאות
איטרציה באמצעות pairs()איטרציה באמצעות ipairs()pairs() לעומת ipairs()סיכום – גיליון דמות2פונקציות נוספות של ספריית הטבלאות
table.concat()בניית טבלה ו־unpack()table.sort()מיון מותאם אישית באמצעות פונקציותסיכום – לוח שיאים3מושגים מתקדמים בפונקציות
החזרת ערכים מרוביםפונקציות עם מספר משתנה של ארגומנטים (...)פונקציות כערכים ממדרגה ראשונהפונקציות אנונימיותמהי סגירה (Closure)?סיכום – מטפל אירועים פשוט9קורוטינות למתחילים
מהי קורוטינה?יצירה וחידוש של קורוטינההשהיה באמצעות coroutine.yield()חידוש והשהיהבדיקת מצב הקורוטינהסיכום – מחולל מספריםסיכום – חישובי וקטוריםתרגלו בעצמכם: קומפיילר Lua אונליין