23,094
回編集
M (→enum の関数) |
(→列挙型: == enum と match 式 == match式に enum 専用の機能は用意されていません。ですが、enum の name プロパティから要素名(文字列型である)にアクセスできることと、) |
||
print側でvalue指定
1
</pre>
== enum と match 式 ==
match式に enum 専用の機能は用意されていません。ですが、enum の name プロパティから要素名(文字列型である)にアクセスできることと、match式では文字列型も条件式に使えることを組み合わせることで、下記コードのようにenumとmatch式を普通に連動させられます。
<syntaxhighlight lang="PHP">
<?php
// 装備画面
enum soubiMode // : int を忘れないように
{
case buki ; // 武器
case tate ; // 盾
case kabuto ; // かぶと
}
$a = soubiMode::tate ;
match ($a->name) {
"buki", "tate" => print("{$a->name}データベースを編集。" . "\n"),
"kabuto" => print("カブトのデータベースは未作成。" . "\n"),
default => print("宣言されてない装備にアクセスしました。" . "\n") ,
};
?>
</syntaxhighlight>
実行結果
<pre>
tateデータベースを編集。
</pre>
|
回編集