ジャンプ先: 概要. 戻り値. 関連. MEL 例.

概要

eval string|expression

eval は、取り消し不可能照会不可能、および編集不可能です。

eval コマンドの目的は、ランタイム時のみに定義可能な MEL コマンドまたはプロシージャを実行する方法を提供することです。いかなる有効な MEL ステートメントも、文字列引数として eval コマンドに渡されます。C 言語を良く知っていれば、関数ポインタに似た使い方ができます。

この機能は、プラグインを使用する場合、特に便利です。plugin コマンドは loadPlugin コマンド実行の後でしか使用できないので、plugin の参照先は実行時に決定されます。

オプションの引数つきで単一のコマンドを実行するために eval コマンドを使う場合、2 番目の構文を使うことができます。そうしない場合は、実行するステートメントおよび/またはコマンドからなる文字列を作成する必要があります。

戻り値

Anyステートメントまたはコマンド/プロシージャの戻り値です。

関連

evalDeferred, evalEcho, scriptJob

MEL 例

string $timeOfDay = "afternoon";
switch($timeOfDay) {
   case "morning":
      $shape = "circle";
      break;
   case "afternoon":
      $shape = "sphere";
      break;
   case "evening":
      $shape = "cone";
      break;
   default:
      $shape = "cylinder";
   }
   float $radius = 1.4;
   eval $shape -r $radius;  // create specified shape with given radius.

// The "eval" command above could also be constructed as a single string:
eval ($shape + " -r  " + $radius);

eval "int $i = 3 + 2;";

loadPlugin mySpecialNurbCmd.dll;
int $arg1 = 1;
int $arg2 = 10;
eval mySpecialNurb $arg1 $arg2;