上周一位朋友问我如何枚举或列出程序/函数/等中的所有变量。出于调试的目的(基本上是获取所有内容的快照,以便您可以查看设置了哪些变量,或者是否设置了它们)。我环顾四周,发现了一个相对较好的 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 />';
}
?>
所以我告诉你:你如何用你最喜欢的语言列出所有变量及其内容?