Kotlin лямбда-синтаксис - PullRequest
       0

Kotlin лямбда-синтаксис

2 голосов
/ 29 февраля 2020

В следующем коде, что не так со вторым дополнением?

val lambdas  = mutableListOf<()->Unit>()
lambdas.add{println("a")} // this compiles fine
lambdas.add{()->println("b")} //why can't I do this?


error: expecting a name
lambdas.add{{()->println("b")}}

1 Ответ

3 голосов
/ 29 февраля 2020

Вы не можете объявить лямбду так, как пытаетесь

val right: () -> Int = { 1 } // Convenient way to declare a lambda without parameters
val alsoRight: () -> Int = { -> 1 } // The right way to explicitly declare a lambda without parameters
val wrong: () -> Int = { () -> 1 } // The wrong way to declare a lambda without parameters

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

lambdas.add { -> println("b") }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...