2012-02-08 68 views
7

我是Lua的新手,想要打印表格的內容以進行調試。我可以通過迭代遍歷表來做到這一點。但是,由於這是一個非常普遍的問題,所以我認爲必須有一種開箱即用的方法,或者有人必須編寫一個很好的庫來實現這一點。 Lua的標準做法是什麼?Lua中表格的人類可讀字符串表示形式

回答

3

是好還是壞的功能,也沒有標準。 Lua以其所包含的內容而被排除在外。它沒有對正確的字符串表示做出假設,因爲沒有一種真正的方法來處理格式,嵌套表,函數表示或表循環等。話雖如此,但以「電池供電」的Lua庫開始並沒有什麼壞處。也許考慮Penlight。它的pl.pretty.write有竅門。

3

這是表序列化常見問題的一個實例。

對於一些嚴重的實現,請看看at the Table Serialization page at lua-users

我扔掉它通常是迅速定義諸如

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

借我看到的頁面,但很難相信,這樣一個共同的問題GET的解決了一遍又一遍,並在這樣的詳細方式。 – ajmurmann 2012-02-08 17:19:40

+2

這就是爲什麼完整的Lua安裝大約是1Mb(相對於43.3 MB的python)。你有一點,但是再一次,雖然你可能需要很多其他人可能不需要的功能(想想嵌入Lua)。您不需要一遍又一遍地實現它,只需將它放在一個文件中,並根據需要「需要」,或者將其放在'LUA_INIT'環境變量中,該變量將自動加載它(請參閱[* standalone *部分](http://www.lua.org/manual/5.2/manual.html#7)的手冊)。 – jpjacobs 2012-02-08 17:45:15

+2

@ajmurmann - 很難相信,真的。但是,Lua因其所包含的內容而被排除在外。它沒有對正確的字符串表示做出假設,因爲沒有辦法處理格式,嵌套表,函數表示或表循環等事情。話雖如此,但以「電池供電」的Lua庫開始並沒有什麼壞處。也許考慮[Penlight](http://stevedonovan.github.com/Penlight/)。 [pl.pretty.write](http://stevedonovan.github.com/Penlight/api/modules/pl.pretty.html#write)可以做到這一點。 – 2012-02-08 17:59:19

相關問題