将Java转换为Scala

use*_*579 1 java scala

我正在尝试学习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)


Mad*_*doc 8

正如我在评论中提到的,你的问题似乎没有多大意义 - 请添加更多细节.

目前,我能提出的最接近的Scala翻译是:

Stream from 0