上周一个朋友问我如何枚举或列出程序/函数/等中的所有变量。出于调试目的(本质上是获取所有内容的快照,以便您可以看到设置了哪些变量,或者根本没有设置它们)。我环顾四周,发现了使用Python的相对不错的方法:
#!/ usr / bin / python
foo1 =“ Hello world”
foo2 =“ bar”
foo3 = {“ 1”:“ a”,
“ 2”:“ b”}
foo4 =“ 1 + 1”
对于dir()中的名称:
myvalue = eval(名称)
打印名称,“是”,类型(名称),“和等于”,myvalue
这将输出类似:
__builtins__是<type'str'>,等于<module'__builtin __'(内置)>
__doc__是<type'str'>,等于无
__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 ='bar';
//创建一个新的数组对象
$ arrayObj =新的ArrayObject(get_defined_vars());
//遍历数组对象并回显变量和值
for($ iterator = $ arrayObj-> getIterator(); $ iterator-> valid(); $ iterator-> next())
{
echo $ iterator-> key()。'=>'。$ iterator-> current()。'<br />';
}
?>
因此,我向您介绍:如何用您喜欢的语言列出所有变量及其内容?
VonC编辑:我建议这个问题遵循一点“ 代码挑战 ” 的精神。
肥皂起泡泡
莫回无
相关分类