script libreria groovy scripting

libreria - groovy script



¿Cómo enumero todas las variables definidas en una secuencia de comandos groovy (2)

Bueno, si está usando un script simple (donde no usa la palabra clave "def"), las variables que defina se almacenarán en el enlace y podrá obtenerlas de la siguiente manera:

foo = "abc" bar = "def" if (true) { baz = "ghi" this.binding.variables.each {k,v -> println "$k = $v"} }

Huellas dactilares:

foo = abc baz = ghi args = {} bar = def

No conozco una manera fácil de enumerar a través de las variables definidas con la palabra clave "def", pero estaré observando esta pregunta con interés para ver si alguien más sabe cómo hacerlo.

Tengo una secuencia de comandos groovy con un número desconocido de variables en contexto en tiempo de ejecución, ¿cómo las encuentro todas e imprimo el nombre y el valor de cada una?


En realidad, la respuesta de Ted también funcionará para las variables definidas.

def foo = "abc" def bar = "def" if (true) { baz = "ghi" this.binding.variables.each {k,v -> println "$k = $v"} }

rendimientos

baz = ghi __ = [null, null, null] foo = abc _ = null bar = def

No estoy seguro de lo que significan las variables _, pero estoy seguro de que puedes evitarlas.