2012-04-22 1 views
3

파이썬에서이 두 가지 방법에 익숙하지 않은 사용자라면 ...파이썬에는 dir (obj)과 help (obj)가 있습니다. Lua에는 이에 상응하는 것이 있습니까?

dir 특정 개체의 메서드/속성 목록을 반환합니다.

help은 객체 doc strings을 반환합니다.

+0

'dir()'에 대해 [이 질문] (http://stackoverflow.com/questions/5636596/how-to-find-out-all-properties-of-an-object-in-lua) 도움이 될 수도 있습니다 (LUA에는 Python 의미의 객체가 없습니다). –

답변

3

루아에는 "의사 문자열"개념이 없습니다.

모든 루아 객체는 테이블 (또는 사용자 데이터)이지만 루아 코드에서 사용자 데이터를 검사 할 수는 없습니다. 루아 5.1에는 없지만, 5.2에서는 사용자 데이터를 생성 한 사용자가 당신을 원한다면 할 수 있습니다. 따라서, 당신은 단지 테이블의 내용을 반복하는 기존의 테이블 방법을 사용할 수 있습니다 : 테이블의 진정한 내용을 알 수없는, 그래서이, 메타 메소드를 호출 할 것이다

for k, v in pairs(obj) do 
    --Do stuff with k(ey) and v(alue) 
end 

참고. 그리고 나서, 만약 그 대상을 만든 사람이 당신이 진정한 내용을 원한다면, 그는 메타 방식으로 그들을 보호하지 않았을 것입니다. 루아에서 비슷한 파이썬 "DIR"기능이

function dir(obj) 
    for k, v in pairs(obj) do print(k) end 
end 

:

0

재미를 할 수 있습니다.