パターンにマッチした時だけ値を変数に束縛し、ブロックを実行するのです。letの名にふさわしい機能ですね。いうものが存在することがわかりました。使える構文をいくつか紹介しましょう。ような定数を記述すると、その値が右辺の対応する位置の値と一致するときのみマッチするパターンになります。}数字以外に文字列も使用できます。}値の範囲とのマッチ次に紹介するのは値の範囲です。ように記述することで、特定の値の範囲と一致する場合のみマッチするパターンになります。異なり、ピリオドの数が3つ最後の値を含む(上の例では5を含む)事に注意してください。@パターン値の範囲とのマッチができるようになったのは良いのですが・・・ちょっと次の例を見てください。}0から5までのうち、どの数字にマッチしたのかがわかりませんね。使いどころを間違えてもコンパイラが警告してくれないので、できれば避けたいところです。書く事で、そのパターンにマッチした値を変数に束縛することができます。}これで値のチェックと束縛が同時に行えるようになりましたね。追加することができます。使い方はその名前から想像できると思うので省略します。気になる方はこのページの最後を見てください。相当のループが書けるので便利です。次の例はVecをスタックと見立てて、スタックが空になるまでループを回しています。先ほどの列挙型は選択肢が二つだけでした。使うことを考えてみましょう。}う~ん、なんだか記述が冗長ですね。式を使うと次のように書くことができます。式と異なる重要な特性があります。試しに、列挙型の選択肢を1つ増やしてみましょう。coveredコンパイルエラーになってしまいました。