let asdf = {
println("df")
for i in 1...10 {
}
}
无法转换表达式'() - > () - > ST0'输入'() - > () - > ST0'
上部闭合有什么问题。如果我删除for循环它将起作用。
答案 0 :(得分:0)
不确定为什么语法不起作用(我也认为应该这样做),但它是完整语法的简化案例
let asdf = { () -> () in
println("df")
for i in 1...10 {
println(i)
}
}
asdf()
确实有效。
答案 1 :(得分:0)
由于预期关闭不在上下文中,因此不会将其解释为一个。
通过声明asdf是一个闭包,它现在需要一个闭包,所以接受缩写语法:
let asdf :()->() = {
println("df")
for i in 1...10 {
}
}
或者,您可以使用Grimxn指出的完整语法。