0
この「get」メソッドが1つのクラス(String)では動作するが、他のクラス(Node)では動作しない理由を理解できますか?getterメソッドを使用したGroovyメタプログラミング
String.metaClass.getFoo = { "string foo" }
s = "test"
println s.foo // WORKS: get "string foo"
Node.metaClass.getFoo = { "node foo" }
xml = "<test><body>test</body></test>"
nodes = new XmlParser().parseText(xml)
println nodes.foo // NOT WORK: gets []
どのように私はクラスのノードのからgetfoo(と同じように得られた「foo」を)呼び出して作るのですか?
あなたが言及した両方のケースで同じ結果が見られます。それを試してみてください(http://groovyconsole.appspot.com/script/5113343920570368)。 – Rao