Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

ScalaのSnippetを写経する(8)-パターンマッチングその2

パターンマッチングのサンプルその2。

Snippet: Match Arguments | The Scala Programming Language

package sample.snippet

object PatternMatchSample2 extends Application {

  var verbose = false
  
  val array = Array("-h", "-verbose", "aaa")
  
  for (a <- array) a match {
    case "-h" | "-help" => println("Usage: scala Main [-help|-vervose]")
    case "-v" | "-verbose" => verbose = true
    case b => println("Unkrown option: '" + b + "'")
    // unreachable code
    // case x => println(x)
  }
  
  if (verbose)
    println("調子はどうだい?")
}

a == "-h"とかでマッチング。
bというのが突然出てきたけど、変数名は何でもいいみたい。
どれでもないものはすべてこのケースになる。


実行結果。

Usage: scala Main [-help|-vervose]
Unkrown option: 'aaa'
調子はどうだい?

特に問題なし!