我正在尝试学习Scala,所以任何人都可以告诉我如何在scala中转换以下内容:
for (int t = 0; true; t++)
Run Code Online (Sandbox Code Playgroud)
先感谢您.
om-*_*nom 19
使用命令式样式,您可以编写(就像在Java中一样):
var t = 0
while(true) {
t+=1
...
}
Run Code Online (Sandbox Code Playgroud)
懒惰的功能可能是:
def ints(n: Int = 0): Stream[Int] = Stream.cons(n, ints(n+1))
ints().map(t => ...)
Run Code Online (Sandbox Code Playgroud)
使用内置函数:
Iterator.from(0).map ( t => .... )
Run Code Online (Sandbox Code Playgroud)
具有这种无限结构的常见用例是采用无限流或迭代器,对其执行一些操作,然后获取一些结果:
Iterator.from(0).filter(t => t % 1 == 0).map(t => t*t).take(10).toList
Run Code Online (Sandbox Code Playgroud)