1
我有兩個問題。第一個:是code
一個純粹的表情?Scala中的純表達式意味着什麼?
lazy val code: Unit = {
// block of code
var s = "abc"
for (i <- 0 until 10) println(i)
s += s concat "def"
println(s)
}
而第二個:純表達式是什麼意思?這是一個不返回任何東西的代碼嗎?
有趣!那麼'code'的真正類型是什麼?該塊包含四行有用的代碼。我認爲它應該是這種塊的一些對象表示。我對嗎? – Finkelson
'code'的類型就像你編寫的那樣:'Unit'(相當於Java中的'void')。它不等於定義它的代碼塊。可能你打算使用'def'而不是'lazy val'?這定義了一個函數等於後面的代碼塊,並且可以反覆調用(每次向控制檯打印更多行)。進一步調用上面的懶惰值只會返回'()'('Unit'的唯一實例的表示),它不會重新執行代碼塊。 – Shadowlands
> **它不等於定義它的代碼塊** – Finkelson