コマンドとプロシージャは同じ方法で実行されます。この点については、以下の例で説明できます。
proc float myTime(string $dummyFlag, float $time) {return $time;}
currentTime -e 1;
myTime -e 1;
currentTime "-e" "1";
myTime "-e" "1";
currentTime("-e", 1);
myTime("-e", 1);
コマンドやプロシージャを実行して戻り値を受け取るには、eval 構文、`` 構文、() 構文を次の例のように使用します。
string $transforms[];
$transforms = eval("ls -type transform");
$transforms = `ls -type transform`;
$transforms = ls("-type", "transform");
これらの構文を使用する場合に覚えておかなければならない重要なポイントがあります。ここではこれらの構文について、主な違いを説明します。この説明を読んで、どれを使用すべきか判断できるようにしてください。
たとえば、最初にプラグインをロードすると同時にこれを実行するというスクリプトを実行しようとすると、プラグイン コマンドを実行したときにエラーになります。これは、Maya がスクリプトを最初に評価し、未知のコマンドをチェックするためです。しかし、eval 構文を使用してプラグイン コマンドを実行するとスクリプトはエラーになりません。
print ("このオブジェクトには" + $faces + " 個のフェースがあります ¥n");