Tour of Scala

Именованные Аргументы

Language

При вызове методов можно конкретно указывать название задаваемого аргумента следующим образом:

def printName(first: String, last: String): Unit =
  println(first + " " + last)

printName("John", "Smith")                 // выводит "John Smith"
printName(first = "John", last = "Smith")  // выводит "John Smith"
printName(last = "Smith", first = "John")  // выводит "John Smith"

Обратите внимание, что при указании имени параметра, порядок аргумента может быть изменен. Однако если какие-то аргументы именованные, а другие нет, то аргументы без имени должны стоять на первом месте и располагаться в том порядке, в котором описаны параметры метода.

printName(last = "Smith", "john") // ошибка: позиция после именованного аргумента

Именованные аргументы работают при вызове Java методов, но только в том случае, если используемая Java библиотека была скомпилирована с -parameters.

Contributors to this page: