match
式のパターンとしてunapply
/unapplySeq
が定義されたオブジェクトを指定することで、動作をカスタマイズできる。
参考資料は例によってScala Language Specification Version 2.9(pdf)。ちょっと古いけどこのへんのルールは今も変わってないと思われる。Chapter 8あたり。
引数 | メソッド |
---|---|
() |
unapply(a:A):Boolean |
(p1) |
unapply(a:A):Option[T1] |
(p1, ..., pn) |
unapply(a:A):Option[(T1, ..., Tn)] |
(p1, ..., _*) |
unapplySeq(a:A):Seq[T] |