在下面的代码中,第二个添加有什么问题?
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")}}
最佳答案
您无法以尝试的方式声明lambda
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") }