PracticU

ביטויי Switch Case

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode › ביטויי Switch Case
מילון מושגים:
תחביר - אוסף הכללים של שפת תכנות הקובעים כיצד לכתוב קוד תקין. הפרתם גורמת לשגיאת תחביר.
משתנה - שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.

ביטויי Switch Case
ביטוי switch ב-Swift בוחן ערך ומשווה אותו למקרים שונים. השיעור מראה את הסינטקס, את החובה לכסות את כל האפשרויות ואת השימוש בו על enum.
איך זה עובד
1. מבנה בסיסי: מתחילים ב-switch על משתנה, ולכל מקרה כותבים case עם הערך לבדיקה ואת הפעולה שתתבצע.
2. השוואה לערכים: בדוגמה ההגרלה מוציאה מספר מ-0 עד 3, ולכל ערך יש הדפסה משלו. המרצה הדגיש שזה נוח יותר מכמה if ו-else.
3. ברירת מחדל: default מטפל במקרה שלא מתאים לאף מקרה אחר.
4. enum: אפשר לבחון enum ב-switch. בדוגמה של ימי השבוע, כל יום מקבל הדפסה בעברית. אפשר לכתוב .sunday בלי שם הטיפוס, כי Swift כבר יודעת איזה טיפוס זה.
5. כיסוי מלא: Swift דורשת שכל האפשרויות ייבדקו. אם מוחקים את default מקבלים שגיאה, ואפשר להשלים את המקרים החסרים בעזרת ההשלמה האוטומטית.
6. פונקציה בתוך ה-enum: במקום להדפיס בבקר התצוגה, מחזירים את שם היום בעברית בפונקציה שנמצאת בתוך ה-enum. כך אפשר להשתמש בה שוב במקומות אחרים.
הדגמה
בסוף ההדגמה הגרלת מספר הופכת ליום, בדיקת ערך אופציונלי נעשית עם guard let, ושם היום בעברית מוצג בעזרת ה-switch שבתוך ה-enum.
בסיום תדעו לבנות switch על ערך ועל enum, ולוודא שכל המקרים מכוסים.
השיעור הבא בקורס: תכונות מחושבות - Computed Properties - Enums

פרקי ההרצאה: ביטויי Switch Case

  1. 00:00

    מבוא ל-switch case והשוואת ערכים

  2. 01:30

    הגדרת מקרה default לערכים אחרים

  3. 02:12

    השוואה בין switch ל-if else

  4. 02:50

    switch על ימי השבוע באמצעות enum

  5. 03:28

    הגרלת יום בשבוע והזזת טווח המספרים

  6. 04:29

    בדיקת ערך Optional בעזרת guard let

  7. 05:11

    הדפסת שם היום בעברית לפי מקרה

  8. 06:14

    ברירת המחדל לשאר ימי השבוע

תמלול ההרצאה: ביטויי Switch Case

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

  1. 00:02

    שלום וברוכים הבאים אנחנו רוצים להתחיל לדבר היום על סוויץ' קייסים דרך אגב כאן למטה יש לנו את הכפולה שכתבנו בשיעור הקודם שמגרילה מספרים רנדומליים סוויץ' קייס הוא פשוט ביטוי השוואתי שעוזר לנו לבדוק ערך ולהשוות אותו למספר מסוים של מקרים למשל אני יכול להגדיר את x להיות מספר רנדומלי בין 0 ל-100 עכשיו אנחנו יכולים או בוא נעשה

  2. 00:28

    יותר קצר בין 0 ל-3 עכשיו אנחנו יכולים להגיד שיש לנו מקרה ראשון שהx שלנו switch על x אנחנו רוצים להתחיל לבחון את x עכשיו על הסוויץ' בסדר נבחן אותו את x את הערך שלו מה הוא יצא אני אבדוק מקרה ראשון 1 ואני אגדיר פה print nice level שלב נחמד 1 זה שלב נחמד עכשיו אם אנחנו כבר באיזשהו שלב 2 אז מגניב

  3. 00:58

    נכון 2 קול ואני אני יודע שתכלס זה יכול להיות מספר בין 0 ל-3 אז אני אגדיר עוד קייס אחד להיות 0, אין שלב כזה.

  4. 01:30

    עכשיו default זה מה יקרה אם זה לא אף אחד מהמקרים בין 0 ל-2 אז זה בעצם חייב להיות 3 נכון? בוא נרשום לעצמנו ככה print 3. אוקיי בואו ננסה להריץ את זה ונראה מה אנחנו מקבלים פה.

  5. 01:50

    אנחנו תמיד מדפיסים משהו בכל אחד מהמקרים של x, מגרילים מספר x ואז הוא אומר לי יצא לך אחד יופי של שלב זה בעצם מה שהוגרל כמובן שהתוצאה פה הפלט תלוי במה שהוגרל לכם באותו רגע יפה מאוד אז סוויץ' בעצם נותן לנו לקחת איזשהו ערך לבחון אותו סוויץ' על איקס עוזר לי לבחון את הערך של איקס ולבדוק האם הערך של איקס מתאים לאחד מהקייסים לאחד מהמקרים הבאים האם זה 0 1 או 2 או שמא

  6. 02:21

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

  7. 02:37

    עכשיו, סוויץ' קייס הוא פשוט יותר נעים, יותר נוח לעבודה, יותר קריב ויותר מבטא את העובדה שרציתי ממש פה לבחון את x, אוקיי?

  8. 02:46

    אז סוויץ' קייסים, ביטוי מאוד נחמד שעוזר לי לבחון ערך. איך זה מתקשר לאינאמים מהשיעורים הקודמים? בעזרת סוויץ' קייס אנחנו גם יכולים לבחון אינם ולבחון מה יצא לו הערך.

  9. 02:58

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

  10. 03:10

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

  11. 03:25

    איך נגריל יום, אתם יודעים? אפשר קודם כל להגריל מספר let r שווה get random מ-0 עד כמה, אתם יודעים? מ-0 עד 7, ואני לא רוצה את 0, נכון? אז בוא נעשה מ-0 עד 6 ונוסיף לזה 1, מבינים?

  12. 03:46

    אם אני מגריל מספר בין 0 ל-6 כולל ומוסיף לו 1, אני מתחיל לקבל מספרים בין 1 עד 7. זה טריק חשוב, כדאי שתכירו אותו, וזה לגמרי מגניב שיצאנו לדבר על זה, אז אני שמח.

  13. 04:00

    אני גרלתי פה מספר לא בין 0 ל-6 אלא בין 1 ל-7 על ידי זה שעשיתי פה הזזה. עכשיו אם אנחנו רוצים להגריל יום אז let d=day אנחנו נרצה לתת לו row value מהערך של המספר שהוגרל וזה יכול לצאת איזשהו יום ועכשיו יש לי כבר לא סתם מספר רנדומלי אלא יום רנדומלי שזה נחמד לכשעצמו רק דבר אחד שאני רוצה לציין הדבר הזה הוא

  14. 04:29

    אופשונל כמו שדיברנו בשיעורים הקודמים ולכן בואו נבדוק באמת שיש לנו ערך אחרת נצא החוצה מהפעולה אז אני אשתמש פה ב-guard let על הדבר הזה אחרת צא החוצה מהפעולה יש לנו פה משהו לא תקין זה אף פעם לא יקרה דרך אגב יופי אז יש לנו יום רנדומלי אני יכול להדפיס אותו אבל זה לא בדיוק מה שאני רוצה אני לא רוצה להדפיס את היום באנגלית כמו שכתוב כאן אני רוצה להדפיס את היום בעברית אני רוצה לבדוק

  15. 05:03

    אם זה יום ראשון נדפיס בעברית ראשון וכן הלאה. איך נעשה את זה? כמו שדיברנו קודם, נכון? עם הסוויץ' קייס הזה.

  16. 05:11

    איך עובדים סוויץ' קייס באינאמי? בואו נבדוק. הדבר הראשון שאני רוצה לעשות זה סוויץ' על היום, על ה-D, נכון? D הוא יום פה, אוקיי?

  17. 05:22

    עכשיו, איזה מקרים יכולים להיות לי? סנדיי, מאנדיי, טיוסדיי, אלה המקרים. כדי לעשות את זה אני יכול לרשום day.sunday ולהדפיס ראשון במקרה הזה. אופס רגע ראשון יופי עכשיו יש לנו עוד מקרים נכון דרך אגב עוד משהו מעניין ומשעשע אני לא חייב לרשום day.sunday מספיק שאני ארשום .sunday למה כי swift כבר יודעת את הטייפ של הינה היא יודעת שזה day וכל מה שנשאר לי להגיד זה .sunday בואו ניקח את זה לבדיקה

  18. 05:58

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

  19. 06:14

    עכשיו, מה זה default? זה אומר לא ראשון ולא שני, נכון? בוא נעשה פה אולי print default. לא ראשון ולא שני, זה יכול להיות שלישי, רביעי, חמישי, שישי ושבת.

  20. 06:26

    זה אחד מהימים האלה. שלוש עד שבע.

לקורס המלא: קורס פיתוח אפליקציות לאייפון

ההרצאה הקודמת: הגרלת מספרים אקראיים - Arc4Random

ההרצאה הבאה: תכונות מחושבות - Computed Properties - Enums

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

  • משפט Switch, Case - חלק 1
  • Switch
  • פקודת case - חלק 1
  • סקריפט עם case

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

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA
  • קורס פלאטר - Flutter - שפת DART של גוגל למובייל - פיתוח אפליקציות לאנדרואיד ואייפון
  • קורס PhoneGap - פיתוח אפליקציות לאנדרואיד ואייפון