加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Scala“< - ”进行理解

发布时间:2020-12-16 09:46:28 所属栏目:安全 来源:网络整理
导读:我发现Scala总是对任何事情都有“自然的解释”。总是像“哦,但这只是一个函数被调用这个和该对象与这个和该参数”。从某种意义上说,没有什么是真正的编译器 – 魔术,因为我们从其他语言知道。 我的问题在 - 运算符上,如下面的代码所使用: for(i - 0 to
我发现Scala总是对任何事情都有“自然的解释”。总是像“哦,但这只是一个函数被调用这个和该对象与这个和该参数”。从某种意义上说,没有什么是真正的编译器 – 魔术,因为我们从其他语言知道。

我的问题在< - 运算符上,如下面的代码所使用:

for(i <- 0 to 10) println(i)

在这个例子中,我可以看到它被重写为:

0.to(10).foreach((i:Int)=>println(i))

但是这并不能解释我如何在foreach函数中进入匿名函数。在你写我的那一点上,它不是一个对象,而是还没有声明的变量。那么它是怎样的,它如何被转移到foreach的内部呢?

我的猜测是,我终于发现了一些事实上是编译器的魔法

谢谢你的时间。

为了澄清,我的问题是:< - 操作符在第一行代码中如何工作,因为我不是可以将其称为函数的对象。

解决方法

< - 是语言定义的关键字符号,因为=>但与 – > (这是一个定义的符号)。因为它是基本Scala语法的一部分,它可以用来创建绑定(对于你的示例中的i),这是用户定义的构造不能完成的。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读