используя ExpandoMetaclass в отличном результате печати и нулевом значении также - PullRequest
0 голосов
/ 28 октября 2011

пример программы, когда я пытаюсь запустить ее с использованием метода expandometaclass, он дает мне два результата: один желаемый результат, второй - "ноль" в качестве вывода, откуда берется ноль?

class testA {

    static  def X(def var) {
        Y(var)
    }

    static def Y(def var) {
        println var
    }
}
testA.metaClass.static.newMethod = {z_var -> X(z_var) }
println testA.newMethod("anish")

вывод:

anish
**null**

почему эта программа также выводит ноль в качестве вывода

1 Ответ

2 голосов
/ 28 октября 2011

null - это возвращаемое значение от newMethod.Если вы не хотите, чтобы это печаталось, удалите println из вашей строки

println testA.newMethod("anish")
...