From 6c1a22c207cd8f07493eed3ed37449f1555d4562 Mon Sep 17 00:00:00 2001 From: nymphium Date: Fri, 13 Nov 2015 05:58:04 +0900 Subject: [PATCH] implement simple rawlen function for Lua 5.1 --- inspect.lua | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/inspect.lua b/inspect.lua index 60606e6..fce3f48 100644 --- a/inspect.lua +++ b/inspect.lua @@ -31,6 +31,19 @@ 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) + local _M, len = getmetatable(t) + if _M then + setmetatable(t, {}) + len = #t + setmetatable(t, _M) + else + len = #t + end + + return len +end + -- Apostrophizes the string if it has quotes, but not aphostrophes -- Otherwise, it returns a regular quoted string local function smartQuote(str)