1
如果我聲明val 1
如何在不更改名稱val 1
的情況下訪問它?Scala:如何訪問我聲明的val?
val 1 = ONE
def ONE = 1
print(1) // `1` should be a reference to ONE which I declared above.
如果我聲明val 1
如何在不更改名稱val 1
的情況下訪問它?Scala:如何訪問我聲明的val?
val 1 = ONE
def ONE = 1
print(1) // `1` should be a reference to ONE which I declared above.
這不聲明一個變量名爲1
:
val 1 = ONE
它能做什麼,而不是爲模式匹配 - 其結果是沒有用的。
試試這個,你會得到一個模式匹配錯誤:在斯卡拉
def ONE = 2
val 1 = ONE
變量不能有隻包含數字的名稱,或以數字開頭。您無法聲明名稱爲1
的變量。
像Jesper表示它是模式匹配。考慮這個代碼類似於你的:
def ONE_AND_TWO = (1, 2)
val (1, b) = ONE_AND_TWO
println(b) // prints 2
val (2, _) = ONE_AND_TWO //scala.MatchError: (1,2) (of class scala.Tuple2$mcII$sp)
在你的情況下,你只有一個值而不是元組。如果你想盡可能地將變量,數值或函數命名爲接近1
,你可以使用:
def `1` = ONE
但是我也可以寫'var 1 = ONE'。這是一個誤導性的語法。 – barbara 2015-03-31 18:25:04
與'val 1 = ONE'(模式匹配,沒有聲明變量)的作用相同。 – Jesper 2015-03-31 18:26:28
這很有趣。 – barbara 2015-03-31 18:31:49