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?¿Cómo enumero todas las variables definidas en una secuencia de comandos groovy?
Respuesta
Bueno, si usted está utilizando un simple script (en el que no se utiliza la palabra clave "def"), las variables que se definen se almacenará en la unión y se puede llegar a ellos de esta manera:
foo = "abc"
bar = "def"
if (true) {
baz = "ghi"
this.binding.variables.each {k,v -> println "$k = $v"}
}
Lienzo:
foo = abc
baz = ghi
args = {}
bar = def
no estoy al tanto de una manera fácil para enumerar las variables definidas con la palabra clave "def", pero voy a estar viendo a esta pregunta con interés para ver si otra persona Sabe cómo.
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"} }
produce
baz = ghi __ = [null, null, null] foo = abc _ = null bar = def
No estoy seguro de lo que significan las _ variables, pero estoy seguro de que puede trabajar alrededor de ellos.
'_' es el resultado de la Última expresión evaluada, al menos en groovysh (y en REPL de Python y un número de otros). No estoy seguro de '__', aunque podría ver que se trata de algún otro tipo de historial de evaluación. –
Entonces, esto no funciona para mí. 'def foo =" asdgasgf "; this.binding.variables.each {k, v -> println "$ k $ v"} 'solo imprime' args [] '. – jonnybot
- 1. Visualización de todas las variables definidas
- 2. ¿Cómo imprimir todas las variables definidas en emacs?
- 3. Listar todas las variables de MSBuild definidas: equivalentes al conjunto
- 4. Ejecución de una secuencia de comandos groovy en eclipse
- 5. ¿Cómo puedo obtener una lista de todas las variables definidas en Matlab u Octave?
- 6. ¿Cómo obtengo todas las variables definidas en una plantilla de Django?
- 7. ¿Cómo puedo obtener una secuencia de comandos Perl para ver las variables en otra secuencia de comandos de Perl?
- 8. Lista de variables definidas en R
- 9. ¿Cómo enumero todas las variables locales dentro de un método/función de Java?
- 10. ¿Cómo enumero todas las zonas horarias en .NET?
- 11. Obtenga todas las rutas definidas en global.asax
- 12. ¿Cómo enumero las propiedades de un objeto JavaScript?
- 13. ¿Cómo obtener todas las variables definidas en la tabla de alcance/símbolo actual?
- 14. ¿Cómo enumero una lista de interfaces que están definidas directamente en una clase heredada?
- 15. obtener todas las cadenas definidas en una apk
- 16. Crear una matriz de todas las variables GET
- 17. Borrar todas las macros vim actualmente definidas
- 18. Imprimiendo todas las variables y valores definidos
- 19. Lista todas las variables definidas por el usuario en el esquema
- 20. awk: configuración de las variables de entorno directamente desde dentro de una secuencia de comandos awk
- 21. variables en las secuencias de comandos TOAD
- 22. ¿Cómo enumero todas las vistas disponibles de una tabla particular en SQLite?
- 23. En Ruby, ¿hay alguna forma de imprimir todas las variables globales y constantes definidas/predefinidas?
- 24. Secuencia de comandos para encontrar todas las fuentes utilizadas en una página
- 25. ¿Cómo se enumeran programáticamente todas las propiedades definidas?
- 26. Detectando variables no definidas en las plantillas de Django
- 27. El uso de variables no definidas en las sentencias if
- 28. variables definidas * y * indefinidos
- 29. Groovy ejecutando comandos de shell
- 30. Cómo utilizar variables ya definidas en ConfigParser
'this.binding.variables.each {k, v -> println" $ {v.class} $ k = $ v "}' Si desea ver los tipos también – smac89