回答
一種可能必須遍歷:
var current = list
while(!current.isEmpty) {
println(current.head)
current = current.tail
}
我相信這種方法不好,因爲它需要修改'current'? – Howard
@霍華德 - 好吧,這就是你使用while循環時所得到的結果。雖然循環本質上是變異的構造(或者除了加熱CPU之外,它們毫無意義)。 –
使用迭代器的想法基本相同。它只是封裝了var。上面的循環僅適用於列表,旨在顯示迭代如何在列表中工作。迭代器會將其抽象出來,這當然是一件好事。 –
val list = List(1,2,3)
var i = 0
while (i < list.length) {
println(list(i))
i += 1
}
這不是一個好方法,因爲調用'length'需要遍歷整個列表,並且通過索引訪問元素n需要遍歷n個元素。 –
val list = List(1,2,3)
val iter = list.iterator
while (iter.hasNext) println(iter.next())
- 1. 將循環轉換爲while循環
- 2. 將'for'循環轉換爲'while'循環
- 3. 將while循環轉換爲for循環
- 4. 將while循環轉換爲for循環
- 5. 將循環轉換爲while循環c#
- 6. 將循環轉換爲while循環
- 7. 將for循環轉換爲while循環
- 8. C++ for循環轉換爲while循環
- 9. 在Java中將do-while循環轉換爲for循環
- 10. 如何在Python中將循環轉換爲while循環?
- 11. 在python中將while循環轉換爲for循環
- 12. 將一個while循環轉換爲Python中的for循環3.3
- 13. 將循環轉換爲C++中的do-while循環
- 14. 將一個while循環轉換爲Coffeescript中的for循環
- 15. 在Java中的do-while循環中轉換while循環
- 16. 轉換for循環到while循環
- 17. 轉換while循環到每個循環
- 18. 轉換For循環While循環(列表)
- 19. PHP For循環到While循環轉換
- 20. 將while循環轉換爲函數
- 21. 將while循環轉換爲函數? Python
- 22. 將foreach轉換爲while循環
- 23. 將循環(while和for)轉換爲流
- 24. 如何將兩個(for循環)轉換爲(while循環)?
- 25. 將簡單的for循環轉換爲while循環?
- 26. 將foreach循環轉換爲while循環的幫助#
- 27. 如何將(for循環)轉換爲(do-while)循環?
- 28. 需要將此循環轉換爲while循環
- 29. 將while循環轉換爲for循環時意外的結果
- 30. 將for循環轉換爲while循環以解析行
這不是一個'for'循環,這是一個'for'理解。它只是'list.foreach {v => println(v)}'的語法糖,這會更習慣性地寫成'list foreach println'。這是清楚明白的。 –
Scala中的編程第23.4節爲'for(x < - expr1)body'「for loops」調用表達式「;本質上它們是副作用的,並且具有類型Unit,就像一個while循環一樣。有一本「收益」條款,這本書稱它爲「表達」。術語「理解」在詞彙表中被列爲for表達的另一個名稱,但不用於其他地方。 –
哎喲,你想把它轉換成while循環嗎?這可能是for循環所擅長的一些典型例子。 –