let asdf = {
println("df")
for i in 1...10 {
}
}
표현의 형식을 변환 할 수 없습니다 '() ->() -> ST0'를 입력하기 '() ->() -> ST0'상단 폐쇄의 문제점은 무엇폐쇄가 잘못 되었나요?
. for 루프를 제거하면 작동합니다.
let asdf = {
println("df")
for i in 1...10 {
}
}
표현의 형식을 변환 할 수 없습니다 '() ->() -> ST0'를 입력하기 '() ->() -> ST0'상단 폐쇄의 문제점은 무엇폐쇄가 잘못 되었나요?
. for 루프를 제거하면 작동합니다.
그 구문이 작동하지 않는 이유는 확실하지가 (나도 그것을해야한다고 생각했을 것이다)하지만, 작업을 수행하는 전체 구문
let asdf = {() ->() in
println("df")
for i in 1...10 {
println(i)
}
}
asdf()
의 단순화 된 경우입니다.
폐쇄가 예상되는 컨텍스트가 아니기 때문에이를 해석하지 않습니다. 클로저로 asdf을 선언함으로써
은, 지금은 폐쇄가 너무 축약 구문을 허용 기대 : Grimxn가 지적으로
let asdf :()->() = {
println("df")
for i in 1...10 {
}
}
다른 방법으로, 전체 구문을 사용할 수 있습니다.