演算子(Operators)

as, & (結合), = (等しい), /= (等しくない)
contain, does not contain, is in, is not in

要素(Elements)

item全要素属性

属性(Properties)

classクラス識別子[r/o]
値の属するクラス(通常はrecordだが、アプリケーションによって、別のクラスが定義されている場合がある)
length整数[r/o]
レコードに含まれる項目数(numberと同じ)
number整数[r/o]
レコードに含まれる項目数(lengthと同じ)
設定したラベル様々な値
ユーザーが定義した属性(項目)

解説(Note)

 様々な値にラベルを付けたものを中括弧「{}」の中にカンマ「,」で連結して、ひとまとめにした値。
 具体的には、{ラベル:値, ラベル:値, ラベル:値, ...}となる。
 項目は、同じクラスのものである必要は無く、違うクラスの値を一緒に含むことができる。また、レコードの中にレコードを含むこともできる。
 通常の参照は、ラベルの値を使った属性参照形式となる。これは、オブジェクトの属性を指定するのと同じ参照方法である。
 同じレコード内では、ラベルに同じ名前をつけることはできない。
 項目(ラベル)を増やしたい場合は、&演算子を使って、新しいラベルを持った項目を接続することで可能になっている。
 setを使うことによって、変数の一部を共有し、C言語などのポインタ的に使うことができる。
 as演算子によって、リストへ変換できる。このとき、ラベルは失われる。また、「レコード as list」と「every item of レコード」は同じ値を与える。

用例(Example)

  1. class of {name:"まりや", sex:"F", skill:"Music"}
  2. every item of {a:1, b:2}
  3. set girl to {name:"たえ", sex:"F", skill:"Cooking"}
    set girl's skill to "Gambling"
    girl & {power:"A"}
  4. count text in {a:1, b:2, c:"text", d:{"list", 10}}
※1,2,3,4 結果ウィンドウでResultを見て下さい。