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.