首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的结论怎么了?

我的结论怎么了?
EN

Stack Overflow用户
提问于 2014-07-08 11:53:48
回答 2查看 69关注 0票数 1
代码语言:javascript
运行
复制
    let asdf = {

        println("df")

        for i in 1...10 {

        }
    }

不能将表达式的类型'() -> () -> ST0‘转换为'() -> () -> ST0’

上闭锁有什么问题。如果我删除for循环,它就会工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-08 12:10:34

不知道为什么那个语法不起作用(我也认为它应该起作用),但这是一个完整语法的简化情况

代码语言:javascript
运行
复制
let asdf = { () -> () in
            println("df")

            for i in 1...10 {
                println(i)
            }
        }

asdf()

这是有用的。

票数 0
EN

Stack Overflow用户

发布于 2014-07-08 17:04:32

因为它不是在一个上下文中期待一个结束,它没有把它解释为一个。

通过将asdf声明为一个闭包,它现在需要一个闭包,因此接受简化的语法:

代码语言:javascript
运行
复制
let asdf :()->() = {

    println("df")

    for i in 1...10 {
    }
}

或者,正如Grimxn所指出的,您可以使用完整的语法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24631177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档