属性と演算子
ブレース {} は,スコープを形成すると同時に新しい空のオブジェクトを生成します.生成されたオブジェクトは Root を継承します.
person = {};
属性の設定
オブジェクトに属性を設定します.また,:: 構文を使って属性を参照します.
person = {};
person::age = 24;
println(person::age); // 24
println(person); // { age = 24 }
:: 構文
:: の右側の式は,左側のオブジェクトのスコープ内で評価されます.
person = { age = 24 };
println(person::age); // 24
println(person::(age + 1)); // 25
person::(println age); // 24
演算子の設定
オブジェクトに紐付けられる演算子を定義します.下の例では person オブジェクトに += 演算子を定義します.+= 演算子を適用すると,自身の年齢 age に右オペランドの値が加算されるようにします.
person = {
age = 24;
+= = this -> n ->
this::age = this::age + n
;
};
println(person::age); // 24
person += 10;
println(person::age); // 34
オブジェクト生成における -> 構文
関数からの早期脱出に使われる -> 構文は,オブジェクトの値を決定します.
value = {
result = "something";
-> result;
};
println value; // something