如何在groovy中进行方法别名?

时间:2010-10-26 04:49:51

标签: groovy methods alias

我试图在groovy中重新定义域的动态方法。在groovy的ruby中是否有类似的别名方法?

3 个答案:

答案 0 :(得分:30)

你的意思是方法引用运算符.&

def out = System.out.&println
out << "Hello"

def greet(name) {
    println "Hello $name"
}

def sayHello = this.&greet

sayHello "Ronny"

http://groovy.codehaus.org/Operators提及,但缺少一个例子

答案 1 :(得分:3)

您可以使用metaprogramming执行此操作:

MyClass.metaClass.aliasMethod = MyClass.metaClass.originalMethod

答案 2 :(得分:-1)

我还没有在Groovy中看到这个,也找不到任何关于它的内容。

实现目标的一种方法是明显但不好的方式。

def greet(name) {
    println "Hello $name"
}

def sayHello(name) {
    greet(name)
}