構造体定義

MAXScript の「構造体定義」を使用することにより、カスタム関数だけでなく、カスタムの合成値も作成できます。構造体定義は、単純なデータ型から作成される、柔軟性に富んだデータ型です。新しい構造化タイプの値のレイアウトを定義し、コード内でそれを作成および操作できます。

構造体定義の構文は次のとおりです。

struct <struct_name> ( <member> , <member> )

<member>には、次のいずれかを指定できます。

<name> [ = <expr> ]  --name and optional initial value
<function_definition>

person という、新しい構造体を作成します。

Struct person (name, height, age, sex)

 

「person」コンストラクタを使用して、この構造体のインスタンスを作成します。

Bill = person name:"Bill" height:72 age:34 sex:#male

これにより、person 構造体のインスタンスを変数 Bill に保存します。メンバーの name は文字列値「Bill」に、height は整数値 72 に、age は整数値 34 に、sex は名前値 #male にそれぞれ初期化されます。別のインスタンスを作成します。

Joe = person name:"Joseph" sex:#male

この例では、もう 1 つの「person」が作成されます。ただし、この person には、heightage メンバー用に初期化された値はありません。構造体定義でメンバーにオプションの既定値を指定しなかったため、既定値は undefined になります。

 

コンポーネントの数が一定で少数の場合、構造体定義を配列の代わりに使用すると便利です。このタイプの値のコードは、配列内のインデックス番号よりプロパティ名で参照したほうが簡単です。

次のトピック

MAXScript の max コマンド