パターンマッチは便利すぎてこれを覚えてしまうと他の言語でも欲しくてたまらなくなりますね。 Scalaのパターンマッチは、実はユーザーが独自のパターンを定義することが可能になっています。 extractor(抽出子)によるパターンの拡張 簡単な例を紹介します。java.util.Date型のオブジェクトを年月日に分解してパターンマッチさせたい、とします。こんな利用イメージです。 scala> new Date match { | case DateOf( y,m,d ) => println( "%d年%02d月%02d日" format( y,m,d ) ) | case _ => | } 2010年07月09日 "case DateOf( y,m,d) => ..."の部分で、Date型を年月日に分解しているわけです。ふつーにやろうとすると、DateOfというケースクラスを作ってimpl
![パターンマッチをもっと便利に - extractor(抽出子)による拡張 - ( ꒪⌓꒪) ゆるよろ日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/88c88338c53032b6e7649e8b20dda2f37c086616/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F4a8f34b8dff7ad7d664e1f28e8dd86af5ad7c844%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttp%253A%252F%252Fecx.images-amazon.com%252Fimages%252FI%252F41nFY0KbnfL.jpg)