先週、友人が、プログラム/関数/その他内のすべての変数を列挙またはリストする方法を私に尋ねました。デバッグの目的で(基本的にすべてのスナップショットを取得して、どの変数が設定されているか、または設定されているかを確認できるようにします)。少し調べてみたところ、Python の比較的良い方法が見つかりました。
#!/usr/bin/python
foo1 = "こんにちは世界"
foo2 = "バー"
foo3 = {"1":"a",
"2":"b"}
foo4 = "1+1"
dir() の名前:
myvalue = eval(名前)
出力名、「is」、type(name)、「and is equal to」、myvalue
次のような出力が得られます。
__builtins__ は <type 'str'> であり、<module '__builtin__' (組み込み)> と等しい
__doc__ は <type 'str'> であり、None に等しい
__file__ は <type 'str'> であり、./foo.py と等しい
__name__ は <type 'str'> であり、__main__ と等しい
foo1 は <type 'str'> であり、Hello world と同じです
foo2 は <type 'str'> であり、bar と等しい
foo3 は <type 'str'> であり、{'1': 'a', '2': 'b'} と等しい
foo4 は <type 'str'> であり、1+1 に等しい
これまでのところ、PHP で部分的な方法を見つけました ( link textの厚意による) が、内容ではなく、すべての変数とその型のみを一覧表示しています。
<?php
// いくつかの変数を作成します
$バー = 'フー';
$foo ='バー';
// 新しい配列オブジェクトを作成します
$arrayObj = new ArrayObject(get_defined_vars());
// 配列オブジェクトをループし、変数と値をエコー
for($iterator = $arrayObj->getIterator(); $iterator->valid(); $iterator->next())
{
echo $iterator->key() . ' => ' . $iterator->current() . '<br />';
}
?>
すべての変数とその内容をお気に入りの言語で一覧表示するにはどうすればよいでしょうか?
VonCによる編集:この質問は、小さな「コードチャレンジ」の精神に従うことを提案します。
同意しない場合は、タグとリンクを編集して削除してください。