PracticU

לולאות ופונקציות בשפת Dart

בלי כתוביותעם כתוביות
PracticU › קורס פלאטר - Flutter - שפת DART של גוגל למובייל - פיתוח אפליקציות לאנדרואיד ואייפון › לולאות ופונקציות בשפת Dart
מילון מושגים:
לולאה - מבנה בקרה שחוזר על קטע קוד שוב ושוב כל עוד תנאי מתקיים או עבור כל פריט באוסף.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
תחביר - אוסף הכללים של שפת תכנות הקובעים כיצד לכתוב קוד תקין. הפרתם גורמת לשגיאת תחביר.
תנאי - ביטוי לוגי בקוד שתוצאתו אמת או שקר, וקובע אילו פקודות יתבצעו בהתאם לערכו.
פרמטר - ערך שמועבר לפונקציה או לפקודה כקלט, ומשפיע על אופן פעולתן ועל התוצאה שהן מחזירות.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.

לולאות ופונקציות בשפת Dart
השיעור מסביר את בקרת הזרימה בשפת Dart: לולאת for, הגדרת פונקציות, פונקציות חץ, פונקציות אנונימיות, ופונקציות כמו map, any, every ו-where.
השלבים העיקריים
1. לולאה: הסינטקס של לולאת for זהה כמעט בכל שפה, למשל for (int i = 0; i < ...; i++), והפעולה מתבצעת כל עוד התנאי מתקיים.
2. פונקציה: בדארט אין צורך לרשום את סוג ההחזרה או את סוגי הפרמטרים. הדוגמה היא isEven(x), שמחזירה x % 2 == 0.
3. שימוש בתוך מחרוזת: מדפיסים את התוצאה בעזרת string interpolation, כמו "is 13 even? ${isEven(13)}".
4. פונקציית חץ: הגדרה בשורה אחת, כך ש-=> מחזיר את הביטוי בלי המילה return.
5. פונקציה אנונימית: פונקציה בלי שם, שנכתבת כארגומנט, למשל כתנאי של where.
6. map: עוברת על כל איברי הרשימה ומחזירה רשימה חדשה. הדובר מדגים בה ריבוע של כל מספר, וכן רשימת true או false לפי זוגיות.
7. any ו-every: any בודקת אם קיים איבר אחד לפחות שמקיים תנאי. every בודקת אם כל האיברים מקיימים אותו.
8. where: מחזירה רק את האיברים שמקיימים את התנאי, למשל המספרים הזוגיים מתוך רשימה. אפשר להעביר לתוך where פונקציה שכבר הוגדרה.
שימו לב
הדובר מסכם שהשימוש בפונקציות כאלה ביומיום הוא בסיסי לפלאטר, ושהצורה הקצרה עדיפה כשהפונקציה פשוטה.
עכשיו אפשר לכתוב לולאות ופונקציות, ולסנן רשימות בעזרת where, map, any ו-every.
השיעור הבא בקורס: אובייקטים ומחלקות CLASS - תכנות מונחה עצמים בשפת Dart

פרקי ההרצאה: לולאות ופונקציות בשפת Dart

  1. 00:00

    בקרת זרימה: סיכום הסינטקס

  2. 00:38

    הגדרת פונקציות בשפת Dart

  3. 02:17

    פונקציות חץ לקיצור הקוד

  4. 03:17

    פונקציות אנונימיות

  5. 04:18

    הפיכת פונקציה אנונימית לפונקציית חץ

  6. 04:57

    סינון רשימה עם where

  7. 05:32

    הפעלת map על רשימה

  8. 06:14

    המרת כל איבר עם map

תמלול ההרצאה: לולאות ופונקציות בשפת Dart

הטקסט המלא של הדקות הראשונות בהרצאה «לולאות ופונקציות בשפת Dart» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    בשיעור הזה נלמד על בקרת זרימה. עכשיו, אני יוצא מנקודת הנחה שכבר יש לכם רקע בתכנות, אז סליחה אם חלק מהדברים שאני אומר כבר מוכרים לכם, אבל כשלומדים בשפה חדשה כדאי ללמוד את הסינטקס.

  2. 00:15

    אז אנחנו נעבור בקצרה על הסינטקס של לולאות, פונקציות, פונקציות חטא ופונקציות אנונימיות. אוקיי, אז נתחיל עם לולאות. הסינטקס של לולאות הוא זהה כמעט כמו בכל שפה, פשוט רושמים for int i שווה 0 כל עוד i קטן מ-s לדוגמה i++ או++i ונדפיס את i. מעולה, אין כאן יותר מדי מה לחדש.

  3. 00:38

    נעבור לפונקציות. הגדרה של פונקציה בdart היא מאוד מאוד פשוטה. קודם כל לא צריך לרשום את המילה פונקציה, אפשר פשוט להתחיל עם השם.

  4. 00:48

    לא צריך לרשום מה הפונקציה מחזירה ולא חייב לציין את סוגי הפרמטרים. לדוגמה אם אנחנו רוצים לרשום פונקציה שמקבלת מספר ומחזירה האם הוא זוגי, נרשום is even, אוקיי? לא רשמנו function is even, לא רשמנו בוליאן is even, פשוט is even.

  5. 01:05

    הפונקציה הזאת מקבלת פרמטר שנקרא לו x, לא חשוב מאיזה סוג, והפונקציה מחזירה return x מודול הוא 2 שווה שווה 0. פשוט מאוד.

  6. 01:20

    עכשיו נוכל להדפיס לדוגמה is even 13 false. נבטל קודם כל את הפרסה של הלולה. פשוט סימנתי את כל האזור הזה ולחצתי על קונטרול וסלאש.

  7. 01:37

    נגיד שוב מעולה. עכשיו בואו נחזור קצת אחורה ונשתמש בסטרינג יטרפוליישן שלמדנו בשיעור הקודם, אז נרשום print ו-is 13 even סימן שאלה והתשובה תהיה סטרינג יטרפוליישן עם הביטוי is even של 13 is 13 even false נשנה את זה ל-14 מעולה dart כמו בכל השפות המתקדמות תומכת בפונקציית חץ.

  8. 02:19

    מה זה אומר אם ניקח לדוגמת הפונקציה is even שלנו אפשר לומר שההגדרה היא שלוש שורות, די ארוכה. אפשר לצמצם אותה לשורה אחת.

  9. 02:27

    איך? נשים אותה בהערה control ו-slash ונגדיר אותה מחדש. נרשום var is even שווה שימו לב שהכנסנו את הפונקציה כביכול לתוך משתנה וזו הגדרה של הפונקציה זו פונקציה שמקבלת פרמטר x והנה החצי המדובר ועכשיו נרשום את גוף הפונקציה

  10. 02:50

    אז מה גוף הפונקציה? return x מודול 2 שווה שווה 0 נכון? שכשאנחנו כותבים פונקציית חץ צריך להשמיט את המילה return. נוודא שהפונקציה עובדת.

  11. 03:05

    print is even של 77. מעולה. מהם פונקציות אנונימיות? פונקציות אנונימיות הן פונקציות שהן אנונימיות, בלי שם.

  12. 03:18

    בואו נראה דוגמה לזה. קודם כל נמחק את כל מה שבהערה. עכשיו נגדיר רשימה של מספרים var numbers = 1 ל-9. עכשיו בואו נגיד שאנחנו רוצים לקבל לדוגמה רק את המספרים שמתחלקים ב-3 בלי שרת.

  13. 03:33

    אז נגדיר var result שווה לאותם numbers אבל איפה ש... ועכשיו אנחנו נגדיר פונקציה אנונימית שהיא תציין תנאי. לדוגמה איפה שהנה פונקציה אנונימית שמקבלת כפרמטר x והנה הגוף של הפונקציה האנונימית. שימו לב שהגדרנו בעצם פונקציה בלי שם בכלל.

  14. 03:55

    מה התנאי שלי לקבל את המספרים? return תן לי רק את המספרים שx מודול הוא 3 שווה שווה ל-0. ועכשיו נדפיס את ריזולט כמו שציפינו.

  15. 04:17

    עכשיו שימו לב שההגדרה של הפונקציה האנונימית היא די ארוכה. שוב פעם, שלוש שורות אפשר להמיר אותה לשורה אחת להפוך אותה לפונקציית חץ.

  16. 04:26

    איך עושים את זה? קודם כל נמחק את גוף הפונקציה את הסוגריים המסולסלות בהתחלה ובסוף ונמחק את המילה return ונוסיף את החץ המדובר.

  17. 04:38

    רק ניישר קצת את הכל נמחק את הרווחים המיותרים ונמחק גם את הנקודה פסיק בסוף וקיבלנו פונקציית חץ.

  18. 04:46

    שימו לב כמה קצר זה, נגיד את זה שוב אותה תוצאה כמובן. עכשיו דבר נוסף אני רוצה לחדד, יש לנו כבר פונקציית חץ בשם isEven שמוגדרת כאן למעלה.

  19. 04:59

    אולי אפשר להשתמש בה ולקבל את המספרים הזוגיים. זה יהיה var result שווה numbers where ובמקום ההגדרה של פונקציית החץ בפנים אפשר פשוט לזרוק את isEven לבפנים.

  20. 05:13

    זאת אומרת numbers תן לי בבקשה את כל המספרים שהם זוגים בואו נראה. נעולה תראו כמה קצר וברור זה. עכשיו אנחנו מתחילים להבין מה העוצמה של dart וכאן אני רוצה לתת כמה דוגמאות שמאוד מאוד חשוב להבין כי השימוש שלהם בפלאטר הוא יומיומי.

  21. 05:32

    הדוגמה הראשונה תהיה הפונקציה map אל תתבלבלו עם המשתנה map שהכרנו מקודם אני מדבר על פונקציה. אז הפונקציה map רצה על רשימות ומבצעת בעצם המראה של כל האיברים באותה הרשימה.

  22. 05:44

    לדוגמה אם נרצה לקחת את המערך שלנו של numbers את הרשימה הזאת ולהמיר אותה לרשימת החזקות זאת אומרת שכל מספר יהיה בעצם אותו מספר בחזקה. אז נלשום var powers מלשון החזקות שווה לנאמברס וmap.

  23. 06:03

    עכשיו הפונקציה map תיקח בעצם פונקציית חץ אז נגדיר פונקציית חץ שיש לה פרמטר בשם x, הx בעצם בכל איתרציה יהיה אותו מספר מנאמברס והפונקציה תחזיר את x כפול x. שוב פעם var powers שווה אותו מערך מקור נאמברס נקרא לה פונקציה map ונמיר עבור כל ערך נבצע המרה.

  24. 06:27

    עבור כל ערך x נבצע את ההמרה x כפול x. בוא נראה מה יצא לנו, print powers,

לקורס המלא: קורס Flutter אונליין

ההרצאה הקודמת: סוגי משתנים בשפת Dart

ההרצאה הבאה: אובייקטים ומחלקות CLASS - תכנות מונחה עצמים בשפת Dart

הרצאות קשורות מקורסים אחרים

  • תרגול לולאות
  • לולאות While - חלק 1
  • לולאות - for - while
  • לולאות ב-Javascript

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA
  • קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode
  • קורס PhoneGap - פיתוח אפליקציות לאנדרואיד ואייפון