MEL コマンドを実行します。
string eval(string command)
command は、二重引用符で囲んだコマンド文字列、またはコマンドを表す文字列型変数です。
戻り値は、コマンドを実行した結果を表す文字列です。
eval コマンドは最上位の MEL スコープで 実行されるので、グローバル関数として認識され、プロシージャ内で定義した関数(ローカル関数)としては認識されません。詳細については、グローバル変数とローカル変数を参照してください。
eval("select -cl")
select -cl コマンドを実行し、シーン内のオブジェクトの選択をすべて解除します。この例では戻り値は使用されませんが、コマンドの出力結果が返されます。
string $cmd = "select -cl"; eval($cmd);
1 番目の文は、select -cl というコマンド文字列を文字列型変数 $cmd に代入します。2 番目の文は、$cmd の内容(select -cl コマンド)を実行します。
string $mycommand = "sphere"; eval($mycommand+"-r 5");
1 番目の文は sphere という文字列を変数 $mycommand に代入します。2 番目の文により、「-r 5」が文字列「sphere」の後ろに追加され、「sphere -r 5」というコマンドが実行されます。これによって、半径が 5 グリッドの球が作成されます。
string $a[]; $a = eval("ls -lights"); print($a);
1 番目の文は $a という文字配列を定義します。2 番目の文は MEL コマンド ls -lights を実行し、その出力を配列 $a に割り当てます。3 番目の文は $a の内容をスクリプト エディタ(Script Editor)に次のように表示します。
ambientLightShape1 directionalLightShape1
コマンドの出力結果を表す行が、それぞれ新しい行に表示されます。コマンドの出力結果の各行は配列の要素です。Maya では配列の各要素が新しい行に出力されます。