case パターン1 => 処理1 or 値1
case パターンn => 処理n or 値n
case _ => default処理 or default値
}
ここにもありました、魔法の言葉。
魔法の言葉はおいといて(おい!)
これって、case文みたいなもん?
使い方は、こんな感じです。
scala> val n = 10
n: Int = 10
scala> n match {
| case 10 => println("ten")
| case _ => ()
| }
ten
文字列でもできちゃったりします。
scala> val str = "hello"VBみたいですね。
str: java.lang.String = world
scala> str match {
| case "hello" => println("hello world")
| case _ => ()
| }
hello world
そー思った人、あまーい( ̄ー ̄)
なんと、関数でもOKなんです。
この例だと、Listの要素をabcdそれぞれに割り当てていて、処理で合計しています。
scala> List(1,2,3,4) match {すごくないですか?
| case List(a,b,c,d) => a+b+c+d
| case _ => ()
| }
res15: AnyVal = 10
それと、型にマッチさせることもできやがるんですよ、こいつは
scala> val v: Any = "hoge"すごくないですか!?
v: Any = hoge
scala> v match {
| case i: Int => i * 100
| case s: String => s.size
| }
res16: Int = 4
興奮しすぎたので休みます。
0 件のコメント:
コメントを投稿