実行時にコンテキスト内の変数の数が不明な groovy スクリプトがあります。それらをすべて見つけて、それぞれの名前と値を出力するにはどうすればよいですか?
8408 次
3 に答える
22
簡単なスクリプト ("def" キーワードを使用しない場合) を使用している場合、定義した変数はバインドに格納され、次のように取得できます。
foo = "abc"
bar = "def"
if (true) {
baz = "ghi"
this.binding.variables.each {k,v -> println "$k = $v"}
}
版画:
foo = abc
baz = ghi
args = {}
bar = def
「def」キーワードで定義された変数を列挙する簡単な方法はわかりませんが、この質問を興味深く見て、他の誰かがその方法を知っているかどうかを確認します.
于 2008-10-19T15:08:23.997 に答える
4
実際、Tedの答えは'def'ed変数に対しても機能します。
def foo = "abc" def bar = "def" 真であれば) { baz = "ghi" this.binding.variables.each {k、v-> println "$ k = $ v"} }
収量
baz = ghi __ = [null、null、null] foo = abc _ = null バー=def
_-変数が何を意味するのかはわかりませんが、回避できると確信しています。
于 2008-11-15T22:23:10.360 に答える