識別子パターンの概要
パターンが有効な識別子を示している場合、識別子の形式によってパターンの一致方法が決まります。識別子が1文字より長く、大文字で始まる場合にコンパイラは識別子パターンとの一致を試みます。
この識別子パターンは、[>Literal<]属性で識別される値・判別共用体・例外識別子・アクティブパターンをマッチングすることができます。一致する識別子が見つからない場合、一致は失敗し、次のパターンとのマッチングを試みていくような動きをします。
サンプルでみる識別子パターン
概要ではおそらく動きのイメージがつきにくいかと思いますので、以下のサンプルを参考にしてみてください。
サンプルを見ていただくとわかるとおり、識別子が "1文字より長く"、"大文字で始まって" います。また、判別共用体がパターンマッチした場合には、判別共用体の値をアンラップすることも可能です。さらに、ofキーワードを利用することで、判別共用体や例外識別子、アクティブパターンの内部で持っている個々の値を分離して取得できます。
識別子パターンは判別共用体と例外識別子で特によく利用されるパターンマッチなので、見かけることも利用することも多い機能だと思います。それらをしっかりと学習していれば自然と身につくと思いますので身構えずに、ゆっくりと覚えていきましょう。