インスタンス変数とアクセッサ

上の可触性の定義とあわせて楽なアクセッサ定義の方法を追加しました。

Foo: class{
  + @foo;
  // インスタンス変数の定義の前に可触性を表す記号をつけると、
  // 自動的に アクセッサが作られます。
  // + foo: method(){ return @foo; }
  // + set_foo: method(value){ @foo = value; }

  # @bar: 100;
  // 初期値も書ける。
  // protectedでアクセッサが作られる。
  // # bar: method(){ return @foo; }
  // # set_bar: method(value){ @foo = value; }

  @hoge;
  // 記号をつけないとアクセッサは作られない。
}

getterとsetterで、別の可触性を割り当てたい場合はメソッドを自分で定義して実現してください。

これらの変更は、0.9.4.7以降のバージョンで入ります。*1

*1:ところでobj.xxx = 10; は obj.set_xxx(10); のシンタックスシュガーです