Match 文
紹介
match 文は1つの値を複数のパターンと比較して分岐する制御文です。
if / else if チェーンよりも分岐の意図をより明確に表現する際に有用です。
現在のWaveのmatchは**ステートメント(文)**であり 、値として直接評価される式の形はサポートされていません。
つまり、var x = match (...) { ... }のような形は使用できません。
基本文法
match (value) {
pattern1 => {
// 実行ブロック
}
pattern2 => {
// 実行ブロック
}
_ => {
// 基本ブロック
}
}
文法規則:
- ヘッダーは
match (expr)の形を使用します。 - 各armは
{ ... }の形を使用します。 - arm本文は必ず
{ ... }ブロックである必要があります。 - arm間には改行を使っても良く、
,または;を区切りとして使っても良いです。
パターンの種類
現在サポートされているパターンは以下の3種類です。
- 整数リテラルパターン
0 => { ... }
1 => { ... }
42 => { ... }
