エクスプレッション、演算子、文

エクスプレッション

エクスプレッションとは、新しい値を導く一連の値と演算子です。

3 + 5 // => 8
size("Hello") // => 5
size("Hello")*2 // => 10
(10 > 5) // => 1
(5 > 10) // => 0

MEL のコマンド構文でエクスプレッションを使用する場合、エクスプレッションをカッコで囲む必要があります。また、クォーテーション マークで囲まない文字列を使用することはできません。

string $object = "cake";
setAttr $object.tx 2; // Wrong
setAttr ($object + .tx) 2; // Wrong
setAttr ($object + ".tx") 2; // Right

Maya では、エクスプレッションという用語をアニメーションを動かすアトリビュートにアタッチする小さなコードを表すのにも使用します。

演算子

2 項演算子にはオペランドが 2 つ必要です。1 つは演算子の前、もう 1 つは演算子の後に記述します。

operand1 operator operand2

例:

3 + 4
$x = 5
$bool1 or $bool2

単項演算子にはオペランドが 1 つ必要です。これは演算子の前後どちらに記述しても構いません。

operator operand

または

operand operator

例:

$x++ // Increments the value of $x by one.

さらに、MEL には 3 項(3 つのオペランド)演算子が 1 つあります。

condition ? exp1 : exp2

文とは、プログラムのフローを制御するキーワードとエクスプレッションを構造化したものです。

if (condition)
	exp1
else
	exp2
while (condition)
	exp1