名前付き引数
CoddyのKotlinジャーニー「基礎」セクションの一部。レッスン 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これにより、特に関数に同じ型のパラメータが複数ある場合、コードが読みやすくなります。次の2つの呼び出しを比較してください。
// 名前付き引数なし - これらの数字は何を意味するのか?
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)")
}3つの入力を読み取ります:書籍のタイトル(String)、著者名(String)、出版年(Int)。
名前付き引数を使用し、year、title、authorのこの順序でformatBook関数を呼び出します。
たとえば、入力が次の場合:
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
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Kotlinプレイグラウンド