Try כביטוי
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Kotlin של Coddy. שיעור 53 מתוך 63.
ביטוי try/catch יכול להפיק ערך: הביטוי האחרון בבלוק try שהושלם או בבלוק catch המתאים הוא התוצאה שלו. בלוק finally מופעל לאחר מכן לצורך ניקוי, אך הביטוי האחרון שלו אינו מחליף את הערך הזה. יש להפריד בין פעולות הניקוי לבין החישוב.
בתוך main:
val value = try { "bad".toInt() } catch (error: NumberFormatException) { -1 }
println(value)הבלוק התואם של catch מספק מינוס אחד כתוצאת הביטוי.
ביטוי try מקבל את הערך שלו מענף try או catch שהושלם.
אתגר
בינוניהשלם את parsedDouble עם הפרמטרים text: String. השתמש בביטוי try כדי לנתח את text כ-Int ולהכפיל אותו. תפוס את NumberFormatException והשתמש ב-1-. הקלטים שנותחו בהצלחה הם בין 1000- ל-1000; ייתכן שיופיעו גם מחרוזות לא תקינות ומחוץ לטווח. אל תסיר רווחים.
אלא אם צוין לעיל טווח מחמיר יותר, אוספים מכילים לכל היותר 100 איברים בכל רמה, וארגומנטים של מספרים שלמים וערכים של מספרים שלמים באוספים הם בין 1000- ל-1000. טקסט שמסופק לניתוח עשוי לכלול ייצוגים לא תקינים או מחוץ לטווח, כמתואר.
החזר ערך מסוג Int. השאר את קוד הקלט/פלט שסופק. הוא קורא ארגומנטים סקלריים, אחד בכל שורה; רשימה מתחילה במספר האיברים שלה ואחריו האיברים, ומפה מתחילה במספר הרשומות שלה ואחריו כל מפתח וערך. רשימות מקוננות חוזרות על פורמט מספר האיברים והאיברים עבור כל שורה. ה-main שסופקה מדפיסה את הערך המוחזר ואחריו תו newline אחד. רשימות משתמשות בפורמט הסוגריים המרובעים הסטנדרטי של Kotlin; אל תדפיס תוויות נוספות.
נסו בעצמכם
fun parsedDouble(text: String): Int {
// כתבו כאן את הפתרון שלכם.
return 0
}
fun main() {
val text = readLine().orEmpty()
println(parsedDouble(text))
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
4אוספים מקוננים
רשימות של רשימותמעבר על שורותסיכומים של שורותהשטחת רשימות מקוננותסיכום – שורות של מקומות ישיבה7צינורות עיבוד של אוספים
טרנספורמציה באמצעות Mapסינון ערכיםבדיקת כללי האוסףצבירה באמצעות Foldסיכום – סכומים מאושרים5פרויקט - ספר טלפונים
שמירת אנשי קשרחיפוש אנשי קשר11טיפול בשגיאות
ניתוח ללא חריגותלכידת שגיאות ספציפיותTry כביטויאימות באמצעות Requireסיכום – כמויות מאומתותתרגלו בעצמכם: Kotlin אונליין