メインコンテンツまでスキップ

属性と演算子

ブレース {} は,スコープを形成すると同時に新しい空のオブジェクトを生成します.生成されたオブジェクトは 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