MAXScript に関する質問と回答 > 関数の後ろに () を使用するのはどのような場合ですか。 |
MAXScript の関数は変数に格納されます。関数のなかには引数を取得しないものもありますが、その他では 1 つ以上の引数 (パラメータ) が予想されます。
関数の名前だけを入力しても、実際には関数を呼び出したことにはならず、MAXScript に関数の格納されている変数を出力するように指示しているだけです。
関数の名前だけを入力しても、実際には関数を呼び出したことにはならず、MAXScript に関数の格納されている変数を出力するように指示しているだけです。
例: |
() を付けずに関数名のみをタイプしてみましょう。 |
結果: |
MAXScript によって、変数 printHello は、示されているとおりに呼び出される関数の特定の定義をポイントすることが示されます。 |
私たちが使用する関数では操作対象となる引数をとらないため、指示されたとおりの操作で関数を呼び出すことができます。
例: |
() 付きの関数名をタイプしてみましょう。 |
結果: |
MAXScript によって関数が実行され、文字列 "Hello World!" がリスナーに出力された後、関数の戻り値が OK として返されます。 |
1 つの引数をとる関数を定義する場合でも、引数を囲む括弧を使用することができます。その他の言語では、引数を囲む括弧が必須となっている場合があります。そのような言語では、() の形は引数を渡す特殊なケースであり、引数を伴いません。
ただし、MAXScript の場合、引数が関数に渡されない場合を除き、括弧は任意です。
例: |
"Hello World" と出力するカスタム関数を定義してみましょう。 |
結果: |
MAXScript によって、新しい関数が定義されたことが示されており、関数の呼び出し方法が示されますが、引数の数についてはまだ何も示されていません。戻り値は MAXScript 関数が定義されたことのみを示しています。 |
() を付きだが引数を伴わない関数を呼び出す場合、関数はエラー メッセージを返し、望まれる内容を示します。
引数値を括弧内に入力することで、関数を望みどおりに動作させることができます。
ただし、上述のとおり、MAXScript では引数を囲む括弧は必須ではないため、省略することもできます。
同じことが、ジオメトリ プリミティブのコンストラクタ関数のように、プラグインおよび MAXScript 自身によって実装された関数にも該当します。
引数なしで関数を呼び出すためには、関数にパラメータが何も渡されないことを通知する必要があります。
例: |
() を付けて Box のコンストラクタを入力します。 |
結果: |
MAXScript によって、パラメータを伴わない(そのため位置、サイズのようなすべてのプロパティの既定値を使用する)Box コンストラクタ関数が実行されます。 |