2017-02-10 8 views
0

スカラ型ではパターンマッチングが可能です。したがって、型と一致するパターンに変数をバインドすることは可能です。スカラパターンとマッチする変数型と自動型変換

val a: Any = "hello" 
a match { 
    case v: String => v.length() 
} 

使用:タイプに一致するように、次のblock=>:今有界変数はあなたの構文が正しいではありません!!! Any

val a: Any = "hello" 
a match { 
    case v @ String { 
      v.length() // not working 
    } 
} 

答えて

4

型を持つ、それは次のようにする必要があります

+0

。ありがとう!! –

0

タイプでパターンマッチするには、@chengpohiで公開されている構文に従います。

バインド演算子@は、パターンマッチングで抽出されたデータの(サブ)構造を参照するために使用されます。例えば

("hello",123) match { 
    case t @ (fst: String, snd: Int) => println(s"got tuple $t") 
    case _       => 
} 

にラベルtfstsndを意味する必要がない、全体のタプルを指します。