2

Maya Mel Script 言語でSwitch、条件に変数を使用するステートメントを作成することはできますか?case

線に沿った何か(説明のためのばかげた例):

$val1 = "foo";
$val2 = "bar";
// imagine $input as an argument of some proc
switch ($input)
{
case $val1:
    print "Input is 'foo'";
    break;

case $val2:
    print "Input is 'bar'";
    break;
}

Ps 私はそれを試してみましたが、うまくいきませんでしたが、別のオプションを知っているかもしれません。

どうもありがとう

4

1 に答える 1

2

変数をケース値として直接使用することはできませんが、実行するコードを含む文字列を作成し、変数をその値に置き換えて、その文字列を eval 関数に渡すことができます。

$val1 = "foo";
$val2 = "bar";
// imagine $input as an argument of some proc
string $cmd;
$cmd =  "switch (\"" + $input + "\")";
$cmd += "{";
$cmd += "case \"" + $val1 + "\":";
$cmd += "    print \"Input is 'foo'\";";
$cmd += "    break;";
$cmd += "case \"" + $val2 + "\":";
$cmd += "    print \"Input is 'bar'\";";
$cmd += "    break;";
$cmd += "}";
eval $cmd;
于 2012-01-19T15:04:57.250 に答える