diff options
| author | ruki <[email protected]> | 2017-05-18 16:28:43 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2017-05-18 16:28:43 +0800 |
| commit | 75cfb11546cd271ebb8b251d291ad9c7b6277b66 (patch) | |
| tree | a54d87f951beef41ae0be1be17cd47d849b2e416 /xmake/core/base/table.lua | |
| parent | 102c4ce16295fe322704b6e5186f325effa989a8 (diff) | |
improve print and table.dump
Diffstat (limited to 'xmake/core/base/table.lua')
| -rw-r--r-- | xmake/core/base/table.lua | 31 |
1 files changed, 6 insertions, 25 deletions
diff --git a/xmake/core/base/table.lua b/xmake/core/base/table.lua index 3767fc1c4..b7f5719a9 100644 --- a/xmake/core/base/table.lua +++ b/xmake/core/base/table.lua @@ -208,18 +208,9 @@ end -- dump it with the level function table._dump(self, exclude, level) - -- dump string - if type(self) == "string" then - io.write(string.format("%q", self)) - -- dump boolean - elseif type(self) == "boolean" then + -- dump basic type + if type(self) == "string" or type(self) == "boolean" or type(self) == "number" then io.write(tostring(self)) - -- dump number - elseif type(self) == "number" then - io.write(self) - -- dump function - elseif type(self) == "function" then - io.write("<function>") -- dump table elseif type(self) == "table" then @@ -254,9 +245,7 @@ function table._dump(self, exclude, level) end -- dump value - if not table._dump(v, exclude, level + 1) then - return false - end + table._dump(v, exclude, level + 1) -- dump newline io.write("\n") @@ -269,17 +258,9 @@ function table._dump(self, exclude, level) io.write(" ") end io.write("}\n") - -- dump userdata - elseif type(self) == "userdata" then - io.write("<userdata>") - else - -- error - print(string.format("error: invalid object type: %s", type(self))) - return false - end - - -- ok - return true + else + io.write("<" .. tostring(v) .. ">") + end end -- dump it |
