אם אחרת ב-Scala

Source: Scala – IF ELSE Statements

כמו הרבה אפליקציות ושפות תכנות אחרות, Scala גם יש לה בעיות החלטה מוגבלות באופן הגיוני if-else. הביטוי if מופעל אם המצב המובנה הוא אמיתי, אם לא, אז מופעל ביטוי else (רק אם נמצא else בתוכו).

בדרך כלל, הביטוי else לא מופעל על ידי מצב, הוא מופעל רק כשהביטוי if הוא שקר. כך שבקיצור, ביטויי if-else מורכבים מבעיות בין אמת לשקר שעובדים על בסיס עקרונות True-False.

ישנם סוגים רבים של ביטויי if-else:

ביטוי if,

– ביטוי if-else,

– ביטוי נטסט if-else,

– ביטוי if-else-if-else.

לפני שיתחילו ללמוד את הביטויים if-else השונים, הבה נסדר במהירות את הסביבה של Scala עבור מקצועים עם מאחורים על ידי הבאות הצעדים.

הערה: ודאו שיש לך Java מו Installed, אם לא, אז בבקשה עיצב את ההוראות שנותנות כאן.

– \$ brew update

– \$ brew install scala

– \$ brew install sbt

– \$ echo '-J-XX:+CMSClassUnloadingEnabled' >>
/usr/local/etc/sbtopts

– הוסף את '-J-Xmx2G' לקובץ /usr/local/etc/sbtopts

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

שים לב: במדריך זה, תכתבו את הקוד בעורך vim ותרצו אותו מהמסוף.

תנאי if בScala

הביטוי if מורכב מביטוי שהוא בוליאני (כן או לא). אם הביטוי הולך לאמת, אז הקוד הטמון בתוך הביטוי if יורך. אם הביטוי שגוי, אז השורה הראשונה אחרי סוף הביטוי if תורגל.

if(boolean expression) { execute if boolean expression holds true }

ראשית, תגדרו אובייקט או קלס בשם scala_if. בתוך האובייקט הזה תקבעו את הפונקציה הראשית main ותכתבו את גוף הקוד. תיצור משתנה שלמספר שלם x עם ערך 20. לבסוף, מגיע המרכז של הקוד שהוא הביטוי if עם התנאי x<=20 ומאחר ול-x יש ערך 20, הבלוק בתוך הביטוי if יורך.

שמרו את הקוד הבא תחת שם if.scala.

כדי לרץ את הקוד העליון, כל מה שצריך לעשות זה להקליד scala if.scala ואתם תראו פלט כפי שמוצג בתחתית.

תנאי if-else בScala

כמו ההצהרה if, ההצהרה if-else כוללה ביטוי המהווה ערך בוליאני (כן או לא). אם ההצהרה if היא נכונה, אז נועדת הקוד בתוך ההצהרה if תועדר, אם זה לא נכון תועדר הנועדת הקוד בתוך ההצהרה else.

if(boolean expression) { execute if boolean expression holds true } else { execute block if boolean expression (if statement) holds false }

הקוד הבא יועדר את ההצהרה else כי המשתנה x יש לו ערך גדול יותר מ-20, הנועדת הקוד בתוך ההצהרה else תועדר.

בואו נשמור את הקוד הבא בשם if-else.scala.

כדי להריץ את הקוד העליון, כל מה שעליך לעשות זה להקליד scala if-else.scala ואתה אמור לראות פלט כפי שמופיע מתחת.

הצהרת Scala נסטדדת if-else

כמו שבדרך כלל יש לך הצהרה if שמלווה את ההצהרה else, ההצהרה הנסטדדת if-else גם דומה ברוח. בניסטדדת if-else, אפשר להשתמש בהצהרה אחת if או else-if בתוך הצהרה אחרת if או else-if.

בחלק הבא, תביט בהצהרות else-if.

if(boolean expression 1) { execute block 1 if boolean expression 1 holds true** if(boolean expression 2) { execute block 2 if boolean expression 1 and 2 holds true } }

הקוד הבא משתמש בהצהרות if-מקונטנדד כדי להשוות ארבעה משתנים מספריים בשמות $v$, $x$, $y$, ו$z$ ולבסוף, אם כל ההצהרות נכונות, תודפס פלט במסוף.

בואו נשמור את הקוד הבא בשם nested-if-else.scala.

הצהרת Scala else-if

המשפט else-if מושך יותר בהשוואה למשפטים if-else. בשונה מהם, במשפטים if-else הelse מובא אחר משפט if, הelse-if הוא בעצמו משפט אחד. הוא מעניק לך החופש לבחון מצבים מגוונים.

אך יש כמה חוקים קטנים שעליך להשאר בחשבון בזמן שימוש במשפטים else-if:

  • משפט else-if יכול להיות רק אחרי משפט if, משפט if יכול לקבל אפס או יותר else-if's.

  • בדומה, else יכול להיות רק אחרי משפט if וelse-if, משפט if יכול לקבל אפס או אחד else.

  • אחרי שהelse-if מצליח, אף אחד מהelse-if's השארים או else's לא יישקרב וייעלם ישירות.
if(boolean expression 1) { execute block 1 if boolean expression 1 holds true } else-if(boolean expression 2) { execute block 2 if boolean expression 2 holds true } else { execute this block if all of the above statements holds false }

סיכום

מברך על הסיום של ההדרכה.

מדריך זה היה נקודת פתיחה טובה למתחילים שמעוניינים ללמוד את הצהרות התנאי IF ELSE ב-Scala.

תרגיל קטן עבורכם הוא לכתוב קטע קטן של קוד עבור הצהרת else-if ב-Scala ולנסות להבין כיצד הצהרות אלו שונות מאחרות.

מקורות:

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

Source:
https://www.datacamp.com/tutorial/if-else-in-scala