我有一些关于groovy元编程中的委托的noob问题。Grails和Groovy metaProgramming代表
与这行代码
grailsApplication.domainClasses.each { gdc ->
def domClass = gdc.clazz
domClass.metaClass.invokeMethod{name,args ->
//some line of code
def result = invokeMethod(delegate,args)
}
}
是什么的代表,名称和args在这里的内容吗? 一般来说,代表是什么,代表什么类型的内容?
任何帮助和解释将不胜感激
感谢您的回复Burt。但是有些东西仍然让我误以为是noob:'domClass.metaClass.invokeMethod {String name,args - >}所以如果我调用'this',意味着我在'.invokeMethod'中调用闭包,如果我调用'delegate',意味着我自己调用了'domClass'? – 2012-03-07 04:33:40
'this'是定义闭包的实例。在通常位于BootStrap.groovy中的Grails中,或插件描述符。但是在调用方法时,这在运行时没有用处。 'delegate'是闭包被调用的实例,就好像它是一个真正的方法,所以它是最接近'this'的那个。 – 2012-03-07 06:09:06
感谢您的解释,Burt。现在一切都清楚了。 – 2012-03-07 06:51:07