【发布时间】:2010-11-16 11:53:24
【问题描述】:
在 Ruby 中,我可以通过打开一个类来将实例变量添加到一个类中,然后执行以下操作:
class Whatever
def add_x
@x = 20
end
end
这将为我添加一个名为 x 的实例变量。我怎样才能在 Groovy 中做同样的事情?
【问题讨论】:
标签: ruby groovy metaprogramming language-features
在 Ruby 中,我可以通过打开一个类来将实例变量添加到一个类中,然后执行以下操作:
class Whatever
def add_x
@x = 20
end
end
这将为我添加一个名为 x 的实例变量。我怎样才能在 Groovy 中做同样的事情?
【问题讨论】:
标签: ruby groovy metaprogramming language-features
你可以使用 Groovy 的元类:
class Foo { String bar }
f = new Foo(bar:"one")
f.metaClass.spam = "two"
f.spam == "two" // returns true
f.spam = "eggs" // Change property value
f.spam == "eggs" //returns true
【讨论】: