2012-04-22 1 views
3

Для любого, кто не знаком с этими двумя методами в Python ...Python имеет 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

У Lua нет понятия «струны документа».

Все объекты Lua - это таблицы (или пользовательские данные, но вы не можете проверять данные пользователя из кода Lua. Ну, не в Lua 5.1, в 5.2 вы можете сделать это, если пользователь, создавший UserData, хочет вас). Таким образом, вы можете просто использовать существующие методы таблицы перебрать содержимое таблицы:

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

Обратите внимание, что это будет вызывать метаметоды, поэтому истинных содержимого таблицы не известно. Опять же, если человек, создавший этот объект, хотел, чтобы у вас было истинное содержание, он не защитил бы их метаметодами.

0

Позволяет весело:

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

, что аналогичная функция питона "реж" в Lua.

 Смежные вопросы

  • Нет связанных вопросов^_^