0
我正在学习Groovy并遇到了这种奇怪的行为。执行中groovysh
作品下面的代码没有问题,但将其保存为“foo.groovy”,并在MissingPropertyException: No such property: a for class: foo
在3线过groovy foo.groovy
结果运行它:代码在shell中工作,但不作为脚本 - MissingPropertyException
def a(n) { n*n }
def x(m) { m(2) }
x(a)
更改a
到闭合a = { n -> n*n }
使得这个错误去但我想避免那些更复杂的真实用例。我也发现this question其中处理类中的相同问题,但使用this.&
的解决方案不适用,因为我的方法不在类的内部,并且来自Python背景我想保持这种方式。
我在做什么错?这种行为记录在哪里?