diff --git a/inspect.lua b/inspect.lua index b7107d4..d6c159a 100644 --- a/inspect.lua +++ b/inspect.lua @@ -31,6 +31,10 @@ local inspect ={ inspect.KEY = setmetatable({}, {__tostring = function() return 'inspect.KEY' end}) inspect.METATABLE = setmetatable({}, {__tostring = function() return 'inspect.METATABLE' end}) +local rawlen = rawlen or function(t) + return #t +end + -- Apostrophizes the string if it has quotes, but not aphostrophes -- Otherwise, it returns a regular quoted string local function smartQuote(str) @@ -84,7 +88,7 @@ local function sortKeys(a, b) end local function getNonSequentialKeys(t) - local keys, length = {}, #t + local keys, length = {}, rawlen(t) for k,_ in pairs(t) do if not isSequenceKey(k, length) then table.insert(keys, k) end end @@ -232,7 +236,7 @@ function Inspector:putTable(t) if self.tableAppearances[t] > 1 then self:puts('<', self:getId(t), '>') end local nonSequentialKeys = getNonSequentialKeys(t) - local length = #t + local length = rawlen(t) local mt = getmetatable(t) local toStringResult = getToStringResultSafely(t, mt)