טיפוסי פונקציות
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Kotlin של Coddy. שיעור 27 מתוך 63.
טיפוס של פונקציה מתאר את טיפוסי הארגומנטים בסוגריים, ולאחריהם -> ואת טיפוס התוצאה. לדוגמה, (Int) -> Boolean מקבל מספר שלם ומחזיר Boolean. כשהטיפוס ידוע, למבדה עם פרמטר אחד יכולה להתייחס לארגומנט שלה בתור it.
בתוך main:
val isEven: (Int) -> Boolean = { it % 2 == 0 }
println(isEven(6))ערך הפונקציה בודק אם השארית לאחר חלוקה בשתיים היא אפס.
טיפוסי פונקציות מציינים קלטים ותוצאה; הוא זמין עבור פרמטר lambda משתמע אחד.
אתגר
בינוניהשלם את checkPositive עם הפרמטר value: Int. הכרז על משתנה בשם check מסוג (Int) -> Boolean, שהלמבדא שלו בודקת אם הקלט שלה חיובי ממש. החזר את check(value).
אלא אם צוין לעיל טווח מצומצם יותר, אוספים מכילים לכל היותר 100 איברים בכל רמה, וארגומנטים שלמים וערכים שלמים באוספים נמצאים בטווח שבין -1000 ל־1000. הטקסט שסופק לניתוח עשוי לכלול ייצוגים לא תקינים או מחוץ לטווח, כמתואר.
החזר ערך מסוג Boolean. השאר את קוד הקלט/פלט שסופק. הוא קורא ארגומנטים סקלריים, אחד בכל שורה; רשימה מתחילה במספר האיברים שלה ולאחריו האיברים, ומפה מתחילה במספר הרשומות שלה ולאחריו כל מפתח וערך. רשימות מקוננות חוזרות על התבנית של מספר איברים ולאחריו האיברים עבור כל שורה. ה־main שסופק מדפיס את הערך המוחזר ואחריו שורה חדשה אחת. רשימות משתמשות בפורמט הסטנדרטי של Kotlin עם סוגריים מרובעים; אל תדפיס תוויות נוספות.
נסו בעצמכם
fun checkPositive(value: Int): Boolean {
// כתבו כאן את הפתרון שלכם.
return false
}
fun main() {
val value = readln().toInt()
println(checkPositive(value))
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
4אוספים מקוננים
רשימות של רשימותמעבר על שורותסיכומים של שורותהשטחת רשימות מקוננותסיכום – שורות של מקומות ישיבה7צינורות עיבוד של אוספים
טרנספורמציה באמצעות Mapסינון ערכיםבדיקת כללי האוסףצבירה באמצעות Foldסיכום – סכומים מאושרים5פרויקט - ספר טלפונים
שמירת אנשי קשרחיפוש אנשי קשרתרגלו בעצמכם: Kotlin אונליין