Znajomy zapytał mnie w zeszłym tygodniu, jak wyliczyć lub wyświetlić wszystkie zmienne w programie / funkcji / itp. do celów debugowania (zasadniczo uzyskania migawki wszystkiego, abyś mógł zobaczyć, jakie zmienne są ustawione lub czy w ogóle są ustawione). Rozejrzałem się trochę i znalazłem stosunkowo dobry sposób na Pythona:
#! / usr / bin / python foo1 = "Witaj świecie" foo2 = "bar" foo3 = {"1": "a", "2": "b"} foo4 = „1 + 1” dla nazwy w dir (): myvalue = eval (nazwa) wypisz nazwę, „jest”, wpisz (nazwa), „i jest równe”, moja wartość
który wyświetli coś takiego:
__builtins__ jest <typ 'str'> i jest równe <moduł '__builtin__' (wbudowany)> __doc__ to <type 'str'> i jest równe None __file__ to <typ „str”> i jest równe ./foo.py __name__ to <type 'str'> i jest równe __main__ foo1 to <type 'str'> i jest równe Hello world foo2 jest <typ 'str'> i jest równe bar foo3 jest <type 'str'> i jest równe {'1': 'a', '2': 'b'} foo4 jest <typ 'str'> i jest równe 1 + 1
Do tej pory znalazłem częściowy sposób w PHP (dzięki uprzejmości tekstu linku ), ale zawiera on tylko wszystkie zmienne i ich typy, a nie zawartość:
<? php // utwórz kilka zmiennych $ bar = 'foo'; $ foo = 'bar'; // utwórz nowy obiekt tablicy $ arrayObj = new ArrayObject (get_defined_vars ()); // pętla po obiekcie tablicy i echo zmiennych i wartości for ($ iterator = $ arrayObj-> getIterator (); $ iterator-> valid (); $ iterator-> next ()) { echo $ iterator-> key (). '=>'. $ iterator-> current (). '<br />'; } ?>
Powiedziałem ci więc: jak wypisujesz wszystkie zmienne i ich zawartość w swoim ulubionym języku?
Edit by VonC : Proponuję, aby to pytanie było zgodne z duchem małego „ wyzwania kodu ”.
Jeśli nie wyrażasz zgody, po prostu edytuj i usuń tag oraz link.