groovyスクリプトで定義されたすべての変数を列挙するにはどうすればよいですか
質問
実行時にコンテキスト内の変数の数が不明なgroovyスクリプトがありますが、それらをすべて見つけて、それぞれの名前と値を出力するにはどうすればよいですか
解決
まあ、単純なスクリプト(" 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"で定義された変数を列挙する簡単な方法を知りません。キーワードですが、この質問を興味を持って見て、他の誰かがその方法を知っているかどうかを確認します。
他のヒント
実際、Tedの答えは「def」変数に対しても機能します。
def foo = "abc" def bar = "def" if (true) { baz = "ghi" this.binding.variables.each {k,v -> println "$k = $v"} }
利回り
baz = ghi __ = [null, null, null] foo = abc _ = null bar = def
_変数が何を意味するのかわかりませんが、回避できると確信しています。
所属していません StackOverflow