ארגומנטים בעלי שם
חלק מהיחידה יסודות במסלול ה-Kotlin של Coddy. שיעור 58 מתוך 93.
כשקוראים לפונקציה עם כמה פרמטרים, בדרך כלל מעבירים את הארגומנטים בדיוק בסדר שבו הם מוגדרים. אבל Kotlin מציעה חלופה נקייה יותר: ארגומנטים בעלי שם.
עם ארגומנטים בעלי שם, מציינים לאיזה פרמטר שייך כל ערך באמצעות שם הפרמטר ואחריו =:
fun createProfile(name: String, age: Int, city: String) {
println("$name, $age, from $city")
}
fun main() {
createProfile(name = "Alice", age = 25, city = "Paris")
}
// פלט: Alice, 25, from Parisכך הקוד שלך קריא יותר, במיוחד כשיש לפונקציה כמה פרמטרים מאותו סוג. השוו בין שתי הקריאות הבאות:
// בלי ארגומנטים בעלי שם - מה משמעות המספרים האלה?
calculateArea(10, 5, 3)
// עם ארגומנטים בעלי שם - הרבה יותר ברור!
calculateArea(length = 10, width = 5, height = 3)ארגומנטים בעלי שמות מאפשרים לך גם להעביר ערכים בכל סדר שתעדיף:
fun greet(firstName: String, lastName: String) {
println("Hello, $firstName $lastName!")
}
fun main() {
greet(lastName = "Smith", firstName = "John")
}
// פלט: Hello, John Smith!אפשר לשלב ארגומנטים מיקומיים ונקובים, אבל ברגע שמשתמשים בארגומנט נקוב, גם כל הארגומנטים הבאים צריכים להיות נקובים כדי למנוע בלבול.
אתגר
בינונינתונה לך הפונקציה הבאה:
fun formatBook(title: String, author: String, year: Int) {
println("\"$title\" by $author ($year)")
}קרא שלושה קלטים: כותרת של ספר (String), שם המחבר (String) ושנת הפרסום (Int).
קרא לפונקציה formatBook באמצעות ארגומנטים בעלי שם בסדר המסוים הזה: year, title, author.
לדוגמה, אם הקלטים הם:
1984
George Orwell
1949הפלט צריך להיות:
"1984" by George Orwell (1949)נסו בעצמכם
fun formatBook(title: String, author: String, year: Int) {
println("\"$title\" by $author ($year)")
}
fun main() {
val title = readLine()!!
val author = readLine()!!
val year = readLine()!!.toInt()
// TODO: יש לקרוא ל-formatBook באמצעות ארגומנטים בעלי שם בסדר הזה: year, title, author
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7קלט/פלט בסיסיים
פונקציית Printlnתבניות מחרוזתקלט באמצעות ReadLineהמרת טיפוסיםסיכום – שנים עד הפרישהסיכום – אמת או שקר10פונקציות
הכרזה על פונקציהפרמטרים וארגומנטיםערכי החזרהארגומנטים בעלי שםערכי ברירת מחדלפונקציות עם ביטוי יחידחזרה – פונקציית Sigmaחזרה – פונקציית אימות3אפשרות לערך null
מהי בטיחות מפני nullטיפוסים שיכולים להיות nullאופרטור קריאה בטוחהאופרטור אלביסיסודות אתגר הפונקציותאופרטור ההבטחה לאי־nullסיכום – גישה בטוחה9לולאות
לולאת forלולאת whileלולאת do-whilebreakcontinueטווחים בלולאותלולאה מקוננתחזרה – עצרתחזרה – קלט דינמיתרגלו בעצמכם: Kotlin אונליין