Un amigo me preguntó la semana pasada cómo enumerar o enumerar todas las variables dentro de un programa / función / etc. con el propósito de depurar (básicamente, obtener una instantánea de todo para que pueda ver en qué variables están configuradas, o si están configuradas). Miré un poco a mi alrededor y encontré una forma relativamente buena de Python:
#! / usr / bin / python foo1 = "Hola mundo" foo2 = "barra" foo3 = {"1": "a", "2": "b"} foo4 = "1 + 1" para el nombre en dir (): myvalue = eval (nombre) imprimir nombre, "es", tipo (nombre), "y es igual a", myvalue
que dará como resultado algo como:
__builtins__ es <tipo 'str'> y es igual a <módulo '__builtin__' (integrado)> __doc__ es <tipo 'str'> y es igual a Ninguno __file__ es <tipo 'str'> y es igual a ./foo.py __name__ es <tipo 'str'> y es igual a __main__ foo1 es <tipo 'str'> y es igual a Hola mundo foo2 es <tipo 'str'> y es igual a bar foo3 es <tipo 'str'> y es igual a {'1': 'a', '2': 'b'} foo4 es <tipo 'str'> y es igual a 1 + 1
Hasta ahora he encontrado una forma parcial en PHP (cortesía del texto del enlace ) pero solo enumera todas las variables y sus tipos, no el contenido:
<? php // crea algunas variables $ bar = 'foo'; $ foo = 'barra'; // crea un nuevo objeto de matriz $ arrayObj = new ArrayObject (get_defined_vars ()); // bucle sobre el objeto de matriz y echo variables y valores para ($ iterador = $ arrayObj-> getIterator (); $ iterator-> valid (); $ iterator-> next ()) { echo $ iterador-> tecla (). '=>'. $ iterador-> actual (). '<br />'; } ?>
Así que te lo planteo: ¿cómo enumeras todas las variables y sus contenidos en tu idioma favorito?
Editar por VonC : Propongo que esta pregunta sigue el espíritu de un pequeño " desafío de código ".
Si no está de acuerdo, simplemente edite y elimine la etiqueta y el enlace.