match
値によって処理を分岐します。多くの分岐がある場合に if / else if より読みやすくなります。
基本
OnBoot => {
match save.好感度 {
0 => {
湊: はじめまして。
}
1 | 2 => {
湊: 少し仲良くなりましたね。
}
_ => {
湊: よく来てくれますね。
}
}
}
_ はワイルドカードで、どのパターンにも一致しない場合に実行されます。
複数のパターン
| で複数の値をまとめられます。
OnBoot => {
match now.曜日 {
0 | 6 => {
湊: 今日は休日ですね。
}
_ => {
湊: 今日は平日ですね。
}
}
}
文字列のmatch
数値だけでなく文字列にも使えます。
OnBoot => {
match save.天気 {
"晴れ" => {
湊: いい天気ですね。
}
"雨" => {
湊: 雨ですね。
}
_ => {
湊: 今日はどんな天気ですか?
}
}
}
matchとifの使い分け
単一の値との比較が多い場合は match、範囲の比較(>= など)が必要な場合は if / else if が向いています。