summaryrefslogtreecommitdiff
path: root/xmake/core/base/table.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2017-05-18 16:28:43 +0800
committerruki <[email protected]>2017-05-18 16:28:43 +0800
commit75cfb11546cd271ebb8b251d291ad9c7b6277b66 (patch)
treea54d87f951beef41ae0be1be17cd47d849b2e416 /xmake/core/base/table.lua
parent102c4ce16295fe322704b6e5186f325effa989a8 (diff)
improve print and table.dump
Diffstat (limited to 'xmake/core/base/table.lua')
-rw-r--r--xmake/core/base/table.lua31
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