Dodaj metodę do zamknięcia
Dodałem metodę doClosure
jestmetaClass
, ale wydaje mi się, że nie jestem w stanie uzyskać odniesienia do instancji, na którą wywoływana jest metoda. W tym przykładziedelegate
jest ustawiony na instancję skryptu, a nie naf
zamknięcie przywołujęfixedPoint
na:
Closure.metaClass.fixedPoint = {
while (it != (it = delegate.call(it))) {}
it
}
def f = { Math.round(it / 2.0) }
println f.fixedPoint(9)
daje
Caught: groovy.lang.MissingMethodException: No signature of method: test.call() is applicable for argument types: (java.lang.Integer) values: [9]
Co tu robię źle?