Читаемое человеком строковое представление таблицы в Lua

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

3 ответов


к лучшему или худшему, стандарта нет. Lua известен тем, что он исключает, а также тем, что он включает. Он не делает предположений о правильных строковых представлениях, потому что нет никакого истинного способа обрабатывать такие вещи, как форматы, вложенные таблицы, представление функций или циклы таблиц. Это, как говорится,не помешает начать с библиотеки Lua с "батареями". Может быть, рассмотреть пальчиковые. Его pl.хорошенький.пиши делает трюк.


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

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

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

function lt(t) for k,v in pairs(t) do print(k,v) end end

см. таблицу.печать вhttps://github.com/rimar/lua-reactor-light/blob/master/util.lua вероятно, он был заимствован из библиотеки lualogging