1 つの関数は次の 2 つの種類の引数をとることができます。
ポジショナル引数。ポジショナル引数をとる関数を呼び出す場合は、まず、これらの引数を適切な順序で指定しなければなりません。 ポジショナル引数はほとんどのプログラミング言語の関数引数に対応します。これらの引数は必須で、固定された個数と順序を持ちます。
キーワード引数。 キーワード引数は keyword:<value>
というペアで記述し、ポジショナル引数の後に任意の順序で使用できます。 関数は、キーワード引数の一部またはすべてをオプションの引数として使用できます。関数を呼び出して、オプションのキーワード引数を指定しないと、呼び出された関数によって決定される既定値か、呼び出された関数内で最初に参照されたときに特殊な値 unsupplied
になります。
オプションのキーワード引数は、コマンドが多くのオプションを持つことができるため、コマンド言語に便利です。特に、ほとんどの関数が多くのオプションのキーワード引数を持つ3ds Maxでは非常に便利です。たとえば、シーン オブジェクトを作成するすべての関数は、作成用パラメータとしてオプションのキーワード引数を持ちます。これらの関数には 100 を超える引数があることもあり、ポジショナル引数を使用すると実行不可能になります。
ポジショナル引数の例には、次のような print 関数の構文があります。
print <value> [to:<file>]
<value>
はポジショナル引数で、必須です。to: <file>
はオプションのキーワード引数です。to
は引数キーワードで、<file>
は引数の値です。to
引数の値が unsupplied
の場合、MAXScript は <value>
をリスナーに出力します。それ以外の場合、<value>
は <file>
で指定したファイルに出力されます。
例
もう 1 つの例として、次のように 3ds Max シーンの球オブジェクトを 1 つの引数だけで作成することができます。
sphere()
または、引数を 1 つだけ指定することができます。
sphere radius:23
あるいは、次のようにオプションの引数を加えて指定することもできます。
sphere segs:20 smooth:on radius:15 hemisphere:0.5 mapcoords:on
3ds Max オブジェクトの作成時に指定されなかったキーワード引数には、既定値が使用されます。各キーワード引数に使用される既定値は、オブジェクト クラスの説明に記載されています。