Lua 列印table 實現型別python的repr用於table
lua的互動環境裡,輸入型別為table的變數,竟然不顯示變數的內容,比起ipython來,體驗差的不是一星半點。google和bing也沒搜到好用的輪子,於是自己造了一個
-- utils.lua
utils = {}
function utils.is_empty(tab)
return not tab or next(tab) == nil
end
function repr(tab,...)
local i, s, is_list, is_nest = 1, '', true, select('#', ...)
local pre, sep = ' ', '\n'
if is_nest ~= 0 then
pre, sep = '', ' '
end
for k,v in pairs(tab) do
if i > 5 then
s = s..','..sep..pre..'...'
break
end
if i ~= 1 then
s = s..','
end
s = s..sep..pre
if k ~= i then
is_list = false
s = s..'"'..k..'": '
end
value_type = type(v)
if value_type == 'string' then
v = '"'..v..'"'
elseif value_type == 'table' then
v = repr(v, 1)
end
s = s..v
i = i + 1
end
if is_list then
s = '['..s..sep..']'
else
s = '{'..s..sep..'}'
end
return s
end
utils.repr = repr
return utils
Usage::
$ lua
Lua 5.3.5 Copyright (C) 1994-2018 Lua.org, PUC-Rio
> require('utils')
table: 0x7ff4e15009f0
> repr = utils.repr
> a = {1, 2, 3}
> repr(a)
[
1,
2,
3
]
> b = {a=1, b=2, c=3}
> repr(b)
{
"a": 1,
"b": 2,
"c": 3
}
> c = {{a=1},{b=2},{c=3}}
> repr(c)
[
{ "a": 1 },
{ "b": 2 },
{ "c": 3 }
]
>
相關文章
- Lua table(表)
- Lua Table 長度的計算
- vxe-table 實現列印出貨單、自定義單據列印
- 分享 vxe-table 實現列印出貨單、自定義列印單據
- 簡述用React實現Table元件React元件
- sap table 分為三種型別(轉)型別
- vue+element-ui+js頁面列印(列印elementui的table)VueUIJS
- vue vxe-table 實現財務記賬憑證和列印功能Vue
- 使用自定義lua解析管理器呼叫lua指令碼中的table指令碼
- 從零實現Vue的元件庫(十二)- Table 實現Vue元件
- vxe-table 列印出貨單、自定義列印單據
- 揭秘Python:物件型別列印Python物件型別
- [譯]WebAssembly的匯入型別 table 到底是什麼?Web型別
- 關於 mysql 中的 select * from table_a,table_b 的問題MySql
- create table,show tables,describe table,DROP TABLE,ALTER TABLE ,怎麼使用?
- vxe-table 實現列拖拽排序排序
- WPF實現html中的table控制元件HTML控制元件
- vxe-table 實現展開行的用法
- MySQL的create table as 與 like區別MySql
- 實現一個可無限摺疊的table
- [UE] Data Table 對比工具 —— 用於 Data Table 對比以前的資料,檢視有什麼修改
- PL/SQL基本結構---PLSQL複合型別---表型別變數tableSQL型別變數
- 關於table的一些操作
- 修改MySQL資料型別報 Changing columns for table XXX 錯的問題MySql資料型別
- python中的str和repr函式的區別Python函式
- table
- SAP Hybris的型別系統更改和ABAP的LOAD_PROGRAM_TABLE_MISMATCH型別
- python用於型別註解的庫- typingPython型別
- vxe-form table 實現摺疊表單ORM
- MySQL 關於Table cache設定MySql
- 基於Vue+element-ui 的Table樹VueUI
- MySQL:Analyze table導致'waiting for table flush'MySqlAI
- C語言實現一個簡易的Hash table(7)C語言
- table中cesllspacing與cellpadding的區別詳解padding
- Element-UI Table 實現篩選資料功能UI
- vxe-form table 表單實現簡歷模板ORM
- js實現table合併相同列單元格JS
- Sparse Table