上周一位朋友问我如何枚举或列出程序/函数/等中的所有变量。出于调试的目的(基本上是获取所有内容的快照,以便您可以查看设置了哪些变量,或者是否设置了它们)。我环顾四周,发现了一个相对较好的 Python 方法:
#!/usr/bin/python foo1 = "你好世界" foo2 = "酒吧" foo3 = {"1":"a", "2":"b"} foo4 = "1+1" 对于 dir() 中的名称: 我的价值 = 评估(名称) print name, "is", type(name), "and is equal to ", myvalue
这将输出如下内容:
__builtins__ 是 <type 'str'> 并且等于 <module '__builtin__' (built-in)> __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 // 创建一些变量 $bar = 'foo'; $foo ='酒吧'; // 创建一个新的数组对象 $arrayObj = new ArrayObject(get_defined_vars()); // 遍历数组对象并回显变量和值 for($iterator = $arrayObj->getIterator(); $iterator->valid(); $iterator->next()) { 回声 $iterator->key() 。' => ' 。$iterator->current() 。'<br />'; } ?>
所以我告诉你:你如何用你最喜欢的语言列出所有变量及其内容?