Un ami m'a demandé la semaine dernière comment énumérer ou de la liste de toutes les variables à l'intérieur d'un programme/fonction/etc. pour les fins de débogage (essentiellement obtenir un aperçu de tout ce que vous pouvez voir quelles sont les variables, ou si elles sont définies à tous). J'ai regardé un peu autour et a trouvé un relativement bon moyen pour Python:
#!/usr/bin/python toto1 = "Bonjour le monde" foo2 = "barre" foo3 = {"1":"", "2":"b"} foo4 = "1+1" pour le nom de dir(): mavaleur = eval(nom) nom en caractères d'imprimerie, "est", type(nom), "et est égal à ", mavaleur
qui va afficher quelque chose comme:
__les builtins__ <type 'str'> est égal à <module " __builtin__' (built-in)> __doc__ <type 'str'> et est égal __fichier__ <type 'str'> et est égal ./foo.py ___ nom_ <type 'str'> et est égal à __principaux__ toto1 est <type 'str'> et est égal Bonjour tout le monde foo2 est <type 'str'> et est égale à la barre foo3 est <type 'str'> et est égal à {'1': 'a', '2': 'b'} foo4 est <type 'str'> et est égal à 1+1
J'ai jusqu'à présent trouvé une partie en PHP (avec l'aimable autorisation de texte du lien), mais il ne répertorie toutes les variables et leurs types, pas le contenu:
<?php // créer un peu de variables $bar = 'foo'; $foo = "bar"; // création d'un nouvel objet array $arrayObj = new ArrayObject(get_defined_vars()); // boucle sur le tableau de l'objet et de l'écho des variables et des valeurs for($iterator = $arrayObj->getIterator(); $iterator->valid(); $iterator->next()) { echo $iterator ->() . '=> ' . $iterator->current() . '<br />'; } ?>
Donc je l'ai mis pour vous: comment avez-vous la liste de toutes les variables et leur contenu dans votre langue préférée?
Edit par VonC: je vous propose cette question suit l'esprit d'un petit "code-défi".
Si vous n'êtes pas d'accord, il suffit d'éditer et de supprimer le tag et le lien.