前章:パラメータのデフォルト値
- メソッドを呼び出す際、引数にパラメータ名をつけてラベル付けすることができる。これを名前付き引数と呼ぶ
- 2つのパラメータの型が同じ場合、誤って引数が入れ替わることを防ぐことができる
def printName(first: String, last: String): Unit =
println(s"$first $last")
printName("John", "Public") // John Public
printName(first = "John", last = "Public") // John Public
printName(last = "Public", first = "John") // John Public
printName("Elton", last = "John") // Elton John- 名前付き引数は任意の順序で記述できるが、左から右へのパラメータ順でない場合、残りの引数には名前を付ける必要がある
def printFullName(first: String, middle: String = "Q.", last: String): Unit =
println(s"$first $middle $last")
printFullName(first = "John", last = "Public") // John Q. Public
printFullName("John", last = "Public") // Prints John Q. Public
printFullName("John", middle = "Quincy", "Public") // John Quincy Public
printFullName(last = "Public", first = "John") // John Q. Public
printFullName(last = "Public", "John") // error: positional after named argument- Javaメソッドを名前付き引数で呼ぶには、そのJavaライブラリが
-parametersフラグ付きでコンパイルされている場合に限られる
次章:トレイト