相关疑难解决方法(0)

Scala"< - "用于理解

我发现Scala总是对任何东西都有"自然的解释".总是像"哦,但这只是一个函数被调用此函数和该对象与此参数".从某种意义上说,我们从其他语言中知道它并不是真正的编译器魔法.

我的问题是在以下代码中使用的< -运算符:

for(i <- 0 to 10) println(i)
Run Code Online (Sandbox Code Playgroud)

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

0.to(10).foreach((i:Int)=>println(i))
Run Code Online (Sandbox Code Playgroud)

但这并没有解释如何进入foreach函数内的匿名函数.在你写i的时候,它不是一个对象,也不是一个声明的变量.那是什么呢,它是如何被带到foreach的内部的呢?

我的猜测是,我终于发现了一些实际上是编译魔术的东西

谢谢你的时间.

为了澄清,我的问题是:如何做的< -在代码的第一线操作人员的工作,因为我不上它可作为函数调用的对象.

loops scala compiler-theory for-comprehension

23
推荐指数
3
解决办法
2万
查看次数

标签 统计

compiler-theory ×1

for-comprehension ×1

loops ×1

scala ×1