Шаг 40.
Основы Kotlin.
Функции. Именованные аргументы функций

    На этом шаге мы рассмотрим особенности задания и использования таких аргументов.

    Давайте посмотрим, как будет выглядеть вызов функции printPlayerStatus() с передачей аргументов:

    // Состояние игрока
    printPlayerStatus("NONE", true, "Madrigal", "has a few scratches.")

    Другой способ вызвать эту же функцию:

    // Состояние игрока
    printPlayerStatus(auraColor = "NONE", isBlessed = true, 
      name = "Madrigal", healthStatus = "has a few scratches.")

    Этот необязательный синтаксис использует именованные аргументы функции и является альтернативой простой передаче аргументов. Этот способ имеет ряд преимуществ.

    Например, именованные аргументы можно передавать в функцию в любом порядке. То есть можно вызвать printPlayerStatus() так:

    // Состояние игрока
    printPlayerStatus(name = "Madrigal", healthStatus = "has a few scratches.", 
      auraColor = "NONE", isBlessed = true)

    Без использования именованных аргументов их можно передавать только в том порядке, в каком они указаны в заголовке функции. Именованные аргументы можно передавать в любом порядке, независимо от их порядка в заголовке функции.

    Еще один плюс именованных аргументов - они делают код более ясным. Если функция имеет большое число параметров, порой трудно понять, какие аргументы каким параметрам соответствуют. Это особенно заметно, когда имена передаваемых переменных не совпадают с именами параметров функции. Именованные аргументы всегда имеют те же имена, что и соответствующие им параметры.

    В приведенных шагах мы увидели, как объявлять функции и инкапсулировать логику работы. Код стал гораздо упорядоченнее и чище. Вы также узнали о некоторых удобствах, встроенных в синтаксис функций языка Kotlin, которые позволят писать меньше кода в функции с единственным выражением, именованные аргументы и аргументы по умолчанию. В следующих шагах мы научимся пользоваться еще одним видом функций, доступных в Kotlin, - анонимными функциями.

    Не забудьте сохранить NyetHack и создать копию, прежде чем приступить к заданиям из следующих шагов.

    На следующем шаге мы рассмотрим тип Nothing.




Предыдущий шаг Содержание