私は、単純な構文と豊富なイベント ハンドラーを備えた変数バインディング/同期を提供する Groovy ライブラリを開発しています。まず、次の実行をアーカイブすることを目指しています。
def a = 1
def b = 1
def c = 1
a bind { b + c }
assert a==2 & b==1 & c==1
b = 3
assert a==4 & b==3 & c==1
c = -1
assert a==2 & b==3 & c==-1
追加のクラスを提供するという Java FX のアプローチは避けたいのですが、この機能を使用してオブジェクトを強化したいと考えています。
オブジェクトの追跡を見つけることに行き詰まっています。Groovy には代入式のオーバーロード機能がありません。現在、私は重い AST 変換で解決策を見ています (おそらく dsld が役立つかもしれません)。
オブジェクト追跡やイベントなどがあるかもしれませんが、私は見逃しましたか?