Ein Freund hat mich letzte Woche gefragt, wie man alle Variablen in einem Programm / einer Funktion / etc. Auflistet oder auflistet. zum Zwecke des Debuggens (im Wesentlichen um eine Momentaufnahme von allem zu erhalten, damit Sie sehen können, auf welche Variablen gesetzt ist oder ob sie überhaupt gesetzt sind). Ich habe mich ein bisschen umgesehen und einen relativ guten Weg für Python gefunden:
#! / usr / bin / python foo1 = "Hallo Welt" foo2 = "bar" foo3 = {"1": "a", "2": "b"} foo4 = "1 + 1" für den Namen in dir (): myvalue = eval (Name) Druckname, "ist", Typ (Name), "und ist gleich", myvalue
welches etwas ausgibt wie:
__builtins__ ist <type 'str'> und entspricht <module '__builtin__' (integriert)> __doc__ ist <Typ 'str'> und ist gleich None __file__ ist <type 'str'> und entspricht ./foo.py __name__ ist <type 'str'> und entspricht __main__ foo1 ist <type 'str'> und entspricht Hello world foo2 ist <type 'str'> und entspricht bar foo3 ist <Typ 'str'> und ist gleich {'1': 'a', '2': 'b'} foo4 ist <Typ 'str'> und ist gleich 1 + 1
Ich habe bisher einen Teilweg in PHP gefunden (mit freundlicher Genehmigung von Linktext ), aber es werden nur alle Variablen und ihre Typen aufgelistet, nicht der Inhalt:
<? php // ein paar Variablen erstellen $ bar = 'foo'; $ foo = 'bar'; // Erstelle ein neues Array Objekt $ arrayObj = neues ArrayObject (get_defined_vars ()); // Schleife über das Array-Objekt und Echo-Variablen und -Werte für ($ iterator = $ arrayObj-> getIterator (); $ iterator-> valid (); $ iterator-> next ()) { echo $ iterator-> key (). '=>'. $ iterator-> current (). '<br />'; }} ?>
Also sage ich es Ihnen: Wie listen Sie alle Variablen und ihren Inhalt in Ihrer Lieblingssprache auf?
Edit von VonC : Ich schlage vor, diese Frage folgt dem Geist einer kleinen " Code-Herausforderung ".
Wenn Sie nicht einverstanden sind, bearbeiten und entfernen Sie einfach das Tag und den Link.