大家好,我是 scala 的新手,在看到 do..while 語法后,如下所示:
do{
<action>
}while(condition)
我被要求執行這個練習,其中包括預測包含 do..while 回圈的程式的輸出。
var set = Set(1)
do {
set = set (set.max 1)
} while (set.sum < 32)
println(set.size)
執行后我收到以下錯誤:
end of statement expected but 'do' found
do {
我知道可以將此回圈轉換為while(甚至是理想的),但是我想知道do..while回圈是否仍然在 scala 中作業,如果是的話,是否是語法錯誤(因為我在網上搜索但我發現了相同的語法,沒有提到這個錯誤)?如果沒有,是否有不再支持回圈的版本?
uj5u.com熱心網友回復:
你仍然可以在 Scala 2.13.10 中使用do-while
https://scastie.scala-lang.org/DmytroMitin/JcGnZS3DRle3jXIUiwkb0A
在Scala 3中,您可以使用面向運算式的Scala以while-do方式撰寫do-while(即最后一個運算式是從塊回傳的內容)
while ({
set = set (set.max 1)
set.sum < 32
}) {}
https://scastie.scala-lang.org/DmytroMitin/JcGnZS3DRle3jXIUiwkb0A/2
https://docs.scala-lang.org/scala3/reference/dropped-features/do-while.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/532051.html
標籤:斯卡拉while循环做时
