3

通常のGroovyスクリプトが与えられた場合、スクリプト自体の内部で定義されたクラスからそのバインディング変数にアクセスする方法はありますか?

次のスニペット

class Example {
  def printBindings() {
    for (var in binding.variables) {
      println "$var.key - $var.value"
    }
  }
}
new Example().printBindings()

以下の例外で失敗します:

groovy.lang.MissingPropertyException: No such property: binding for class: Example
4

1 に答える 1

1

スクリプトをメソッドに渡さなくても見つけることができるわけではありません。

class Example {
  def printBindings( container ) {
    for (var in container.binding.variables) {
      println "$var.key - $var.value"
    }
  }
}
new Example().printBindings( this )
于 2013-01-17T13:53:47.907 に答える