2010-09-03 62 views
4

我上午很慢。我認爲在案例陳述中引用現有的val是可以的。但它似乎被解釋爲局部變量定義。一個基本的谷歌搜索沒有幫助,我沒有我的樓梯書。如何在case語句中引用val?

在下面,將允許我匹配大小寫(b,c)的語法是什麼?

scala> val (a,b,c) = (1,2,3) 
a: Int = 1 
b: Int = 2 
c: Int = 3 

scala> (2,3) match { 
    | case (a,b) => 100 
    | case (b,c) => 200 
    | case _ => 999 
    | } 
<console>:8: error: unreachable code 
     case (b,c) => 200 

回答

11

你要麼必須大寫val S或你必須把標識符爲反引號是這樣的:

case (`b`, `c`) => 200 
+0

啊哈!鈴聲響了。 – Synesso 2010-09-03 00:31:58