Next: , Previous: Structures, Up: Structures   [Contents][Index]

5.8.1 Introduction to Structures

Maximaは構造体と呼ばれる簡単なデータ集合体を提供します。 構造体は 引数が名前(フィールド名)によって識別され、式全体が演算子(構造体名)によって識別される式です。 フィールド名は任意の式を取り得ます。

構造体はdefstruct関数によって定義されます; グローバル変数structuresはユーザー定義の構造体のリストです。 関数newは構造体のインスタンスを生成します。 @演算子はフィールドを参照します。 kill(S)は構造体定義Sを取り除き、 kill(x@ a)は 構造体インスタンスxのフィールドaをアンバインドします。

(display2dtrueで使う)プリティプリンティングのコンソール表示では、 構造体インスタンスは、 左辺側にフィールド名、右辺側に値の式として表されたそれぞれのフィールドの値と一緒に 表示されます。 (等式は単に表示物です; 値だけが実際に保存されます。) (grindを介してか、display2dfalseで使う)1次元表示では 構造体はフィールド名ないで表示されます。

フィールド値はラムダ式でありえますが、フィールド名を関数名として使う方法はありません。 フィールドの値はあるタイプに制約することもできません; 任意のフィールドにはどんな種類の式に割り当てることができます。 フィールドを、違った文脈でアクセス可能にしたり不可能する方法はありません; すべてのフィールドはいつも可視です。


Next: , Previous: Structures, Up: Structures   [Contents][Index]