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),这是用户定义的构造不能完成的。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |