私はScalaを学ぼうとしているので、誰かがscalaで以下を変換する方法を教えてもらえますか:
for (int t = 0; true; t++)
前もって感謝します。
命令型スタイルを使用すると、次のように記述できます (Java で行うように)。
var t = 0
while(true) {
t+=1
...
}
遅延関数では、これは次のようになります。
def ints(n: Int = 0): Stream[Int] = Stream.cons(n, ints(n+1))
ints().map(t => ...)
組み込み関数の使用:
Iterator.from(0).map ( t => .... )
このような無限構造の一般的な使用例は、無限ストリームまたはイテレーターを取得し、それにいくつかの操作を実行してから、いくつかの結果を取得することです。
Iterator.from(0).filter(t => t % 1 == 0).map(t => t*t).take(10).toList
コメントで述べたように、あなたの質問はあまり意味がないようです - 詳細を追加してください。
今のところ、私が思いつく最も近い Scala の翻訳は次のようになります。
Stream from 0
while または for を使用できます。
あなたが使用することができます
for(i<-0 to 100) {
println(i)
}
または、N個ずつインクリメントしたいときまで使用します
for(i <- 5 until 55 by 5) {
println(i)
}
または、while を使用することをお勧めします
var i = 0
while(true) {
...
i+=1
}
またはまたdo-while
var i = 0
do {
...
i += 1
} while(true)
http://www.simplyscala.com/を見 て、自分でテストしてください。
また、私のブログでは、for ループと while ループを使用した命令型 scala についていくつか投稿しました。
scala での単純な理解は、ほとんど次のようになります。
for (i <- 0 until 10) {
// do some stuff
}