switch 文
特定の値と一致するかを判断することで実行する文を選択します。
定義¶
名前空間: Alice
アセンブリ: Losetta.Runtime.dll
ソースコード: Alice.Core.Flow.cs
特定の値と一致するかを判断することで実行する文を選択します。
| 引数 | |
|---|---|
value |
一致を判断する値。 |
| 戻り値 | |
|---|---|
variable |
実行した文の戻り値。 |
| 対応 | |
|---|---|
| AliceScript | RC1、RC2、GM、2.0、2.1、2.2、2.3、3.0、4 |
| AliceSister | GM、2.0、2.1、2.2、2.3、3.0、4 |
| Losetta | 0.8、0.9、0.10、0.11 |
基本¶
switch文は、特定の値と一致するかを判断することで実行する文を実行します。
次の例では、0から2までの値が入力された場合、それを漢字に変換し、それ以外の場合は不明として表示します。
var input = 0;
switch(input)
{
case 0:
{
print("零");
break;
}
case 1:
{
print("一");
break;
}
case 2:
{
print("二");
break;
}
default:
{
print("不明");
break;
}
}
switch文では、caseが一致する最初のセクションを実行後、breakまたはreturnステートメントを使ってswitch文を終了する必要があります。
よって、次の例では、0-2と0-3は表示されません。
var input = 0;
switch(input)
{
case 0:
{
print("0-1");
break;
}
case 0:
{
print("0-2");
break;
}
default:
{
print("0-3");
return;
}
}
ただし、コード中に#fall_through enableを記述し、case文をbreakで抜けない場合フォールスルーが起こり、一致箇所より下のコードがすべて実行されます。このため、次の例では、1-1、1-2、1-3のすべてが表示されます。
#fall_through enable
var input = 0;
switch(input)
{
case 0:
{
print("1-1");
break;
}
case 0:
{
print("1-2");
break;
}
default:
{
print("1-3");
return;
}
}
case¶
特定の値が、valueと位置するときに本文を実行します。これは、switch文中で使用されます。
| 引数 | |
|---|---|
value |
一致を判断する値。 |
valueは、評価時にswitch文で指定された値と等価だと評価される必要があります。
default¶
特定の値が、他のどのcaseとも一致しない場合に本文を実行します。これは、switch文中で使用されます。
switch文中で、他のどのcaseとも一致せず、かつdefaultケースもない場合は、なにも実行されません。