2016-12-26 36 views
10

W Kotlinie możliwe jest podanie nazw argumentów lambda w ich definicji.Kotlin: Do czego służą nazwy argumentów lambda?

fun example(lambda: (a: Int, b: Int) -> Int) 

Jak widać, a i b są nazwane w lambda. Pomyślałem, że to może być naprawdę przydatna informacja dla IDE, do generowania lambd z wypełnionymi nazwami parametrów, ale przynajmniej z IntelliJ funkcja nie istnieje lub działa w sposób, w jaki jestem nieświadomy.

Więc, jakie są zastosowania nazwanych argumentów lambda? Czy w jakiś sposób zmieniają wynik kompilacji? Czy są jakieś sztuczki, z których możesz je wykorzystać?

Odpowiedz

11

Obecnie żadna cecha języka używa tych nazw, i, o ile mi wiadomo, jedyną rzeczą, która robi to generowanie szablonów lambda przez wtyczkę IDE:

enter image description here

Następnie Tab lub Wprowadź, a dostaniesz lambda z nazwami parametrów deklarowanych w definicji example:

enter image description here

Zobacz również ten numer: Make use of named higher order function parameters