groovyの印刷結果とnull値でExpandoMetaclassを使う

私がexpandmetaclassテクニックを使って実行しようとすると、サンプルのプロゲームは2つの出力を1つの目的の結果を2つ目の "null"という出力として出力します。

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**

なぜこのプログラムも出力としてnullを出力する

0
@tim_yatesは私が次回にやることを提案してくれてありがとう
追加された 著者 anish,
クラスとメソッドを記述する際には、命名規則に従ってください。通常、クラスは大文字で始まり、メソッドは小文字で始まるので、クラス名は TestA 、メソッド x y それぞれ。これは、コードを他の人が読みやすくするという利点があります
追加された 著者 tim_yates,

1 答え

null newMethod の戻り値です。これを印刷したくない場合は、行から println を削除してください

println testA.newMethod("anish")
2
追加された