Next: Functions and Variables for Structures, Previous: Structures, Up: Structures [Contents][Index]
Maximaは構造体と呼ばれる簡単なデータ集合体を提供します。 構造体は 引数が名前(フィールド名)によって識別され、式全体が演算子(構造体名)によって識別される式です。 フィールド名は任意の式を取り得ます。
構造体はdefstruct
関数によって定義されます;
グローバル変数structures
はユーザー定義の構造体のリストです。
関数new
は構造体のインスタンスを生成します。
@
演算子はフィールドを参照します。
kill(S)
は構造体定義Sを取り除き、
kill(x@ a)
は
構造体インスタンスxのフィールドaをアンバインドします。
(display2d
をtrue
で使う)プリティプリンティングのコンソール表示では、
構造体インスタンスは、
左辺側にフィールド名、右辺側に値の式として表されたそれぞれのフィールドの値と一緒に
表示されます。
(等式は単に表示物です; 値だけが実際に保存されます。)
(grind
を介してか、display2d
をfalse
で使う)1次元表示では
構造体はフィールド名ないで表示されます。
フィールド値はラムダ式でありえますが、フィールド名を関数名として使う方法はありません。 フィールドの値はあるタイプに制約することもできません; 任意のフィールドにはどんな種類の式に割り当てることができます。 フィールドを、違った文脈でアクセス可能にしたり不可能する方法はありません; すべてのフィールドはいつも可視です。
Next: Functions and Variables for Structures, Previous: Structures, Up: Structures [Contents][Index]