我是一名Scala初學者,並試圖瞭解val如何在Scala中工作。我讀到vals不能被修改。當我做到以下幾點:Scala:在for循環中聲明val,條件是
for(line <- Source.fromFile(args(0)).getLines()) {
val currentLine = line
println(currentLine)
}
currentLine在每次迭代更新,但我希望它的第一行進行初始化,並保持到最後,或者至少給某種形式的重新初始化錯誤。這是爲什麼? val是否在每次迭代中創建和銷燬?我的第二個問題:如果在下面的代碼中,我想使用x。
if(some condition is satisfied) val x = 2 else val x = 3
截至目前,我得到了「非法開始簡單表達式」錯誤。有沒有辦法在外面使用x?
需要說明的是,'val'和'var'之間的區別在於'val'不能被重新分配。 –
請記住,'val currentLine = line'與'currentLine = line'不同。只有後者嘗試爲現有值分配新值。 – KChaloux