as,
& (結合),
= (等しい),
/= (等しくない)
contain,
does not contain,
is in,
is not in
item | 全要素 | 属性 |
class | クラス識別子[r/o] |
値の属するクラス(通常はrecordだが、アプリケーションによって、別のクラスが定義されている場合がある) | |
length | 整数[r/o] |
レコードに含まれる項目数(numberと同じ) | |
number | 整数[r/o] |
レコードに含まれる項目数(lengthと同じ) | |
設定したラベル | 様々な値 |
ユーザーが定義した属性(項目) |
様々な値にラベルを付けたものを中括弧「{}」の中にカンマ「,」で連結して、ひとまとめにした値。
具体的には、{ラベル:値, ラベル:値, ラベル:値, ...}となる。
項目は、同じクラスのものである必要は無く、違うクラスの値を一緒に含むことができる。また、レコードの中にレコードを含むこともできる。
通常の参照は、ラベルの値を使った属性参照形式となる。これは、オブジェクトの属性を指定するのと同じ参照方法である。
同じレコード内では、ラベルに同じ名前をつけることはできない。
項目(ラベル)を増やしたい場合は、&演算子を使って、新しいラベルを持った項目を接続することで可能になっている。
setを使うことによって、変数の一部を共有し、C言語などのポインタ的に使うことができる。
as演算子によって、リストへ変換できる。このとき、ラベルは失われる。また、「レコード as list」と「every item of レコード」は同じ値を与える。
class of {name:"まりや", sex:"F", skill:"Music"}
every item of {a:1, b:2}
set girl to {name:"たえ", sex:"F", skill:"Cooking"}
set girl's skill to "Gambling"
girl & {power:"A"}
count text in {a:1, b:2, c:"text", d:{"list", 10}}