Удобочитаемое строковое представление таблицы в Lua - PullRequest
7 голосов
/ 08 февраля 2012

Я новичок в Lua и хочу напечатать содержимое таблицы для целей отладки.Я могу сделать это, перебирая таблицу самостоятельно.Однако, поскольку это кажется мне очень распространенной проблемой, я ожидаю, что должен быть нестандартный способ сделать это, или кто-то должен был написать хорошую библиотеку, которая делает это.Каков стандартный способ сделать это в Lua?

Ответы [ 3 ]

3 голосов
/ 09 февраля 2012

К лучшему или к худшему, стандарта нет. Lua известен тем, что он исключает так же, как и тем, что он включает. Он не делает предположений о правильном строковом представлении, потому что нет единственно верного способа обработки таких вещей, как форматы, вложенные таблицы, представление функций или циклы таблиц. При этом не мешало бы начать с библиотеки Lua с «батарейками». Может быть, рассмотреть Penlight . Его pl.pretty.write делает свое дело.

3 голосов
/ 08 февраля 2012

Это пример общей проблемы сериализации таблиц.

Посмотрите на странице сериализации таблиц на lua-users для некоторых серьезных реализаций.

Мой бросок на него обычно быстро определяет такую ​​функцию, как

function lt(t) for k,v in pairs(t) do print(k,v) end end
1 голос
/ 29 января 2013

См. Table.print в https://github.com/rimar/lua-reactor-light/blob/master/util.lua Возможно, он был заимствован из библиотеки lualogging

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...