친구가 지난주에 프로그램 / 함수 등의 모든 변수를 열거하거나 나열하는 방법을 물었습니다. 디버깅 목적으로 (기본적으로 모든 변수의 스냅 샷을 가져 와서 어떤 변수가 설정되어 있는지 또는 설정되어 있는지 확인할 수 있습니다). 나는 조금 둘러 보았고 파이썬에 상대적으로 좋은 방법을 찾았습니다.
#! / usr / bin / python foo1 = "Hello world" foo2 = "바" foo3 = { "1": "a", "2": "b"} foo4 = "1 + 1" dir ()의 이름 : myvalue = eval (이름) print name, "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에서 부분적인 방법을 찾았 지만 ( 링크 텍스트 제공 ) 내용이 아닌 모든 변수와 유형 만 나열합니다.
<? php // 몇 가지 변수 생성 $ bar = 'foo'; $ foo = '바'; // 새 배열 객체 생성 $ arrayObj = new ArrayObject (get_defined_vars ()); // 배열 객체와 에코 변수 및 값을 반복합니다. for ($ iterator = $ arrayObj-> getIterator (); $ iterator-> valid (); $ iterator-> next ()) { echo $ iterator-> key (). '=>'. $ iterator-> current (). '<br />'; } ?>
그래서 나는 그것을 당신에게 넣습니다 : 당신이 좋아하는 언어로 모든 변수와 그 내용을 어떻게 나열합니까?
VonC 편집 :이 질문은 약간의 " 코드 도전 " 정신을 따른 다고 제안합니다 .
동의하지 않으면 태그와 링크를 편집하고 제거하십시오.