我正在开发一个 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 可能会有所帮助)。
也许我错过了一些对象跟踪、事件或其他什么?