Kotlin: Как называются лямбда-аргументы?
В Котлине можно дать имена лямбда-аргументов в их определении.
fun example(lambda: (a: Int, b: Int) -> Int)
Как вы можете видеть, a
и b
называются в лямбда. Я думал, что это может быть действительно полезной информацией для IDE, чтобы генерировать lambdas с именами параметров, заполненными.. но по крайней мере с IntelliJ функциональность либо не существует, либо работает так, как я не знаю.
Итак, каковы применения названных аргументов лямбда? Они каким-то образом меняют выход компиляции? И есть ли какие-либо трюки, которые вы можете использовать для них?
Ответы
Ответ 1
В настоящее время ни одна языковая функция не использует эти имена, и, насколько я знаю, единственное, что делает, это генерация лямбда-шаблонов плагином IDE:
![введите описание изображения здесь]()
Затем Tab или Enter, и вы получите лямбда с именами параметров, объявленными в определении example
:
![введите описание изображения здесь]()
Также см. эту проблему: Использовать именованные параметры функции более высокого порядка