From 4ddef3ccae2a8fc5e650a0c1658f983268f21570 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enrique=20Garc=C3=ADa=20Cota?= Date: Sun, 24 Apr 2011 01:26:10 +0200 Subject: [PATCH] refactorized putTable & comma control --- inspect.lua | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/inspect.lua b/inspect.lua index 7de0463..9a3d700 100644 --- a/inspect.lua +++ b/inspect.lua @@ -92,28 +92,29 @@ function Inspector:down() self.level = self.level + 1 end +function Inspector:putComma(comma) + if comma then self:puts(',') end + return true +end + function Inspector:putTable(t) if self.level >= self.depth then self:puts('{...}') else - local length, needsComma = #t, false + local length = #t + local comma = false self:puts('{') self:down() for i=1, length do - if needsComma then self:puts(',') end - needsComma = true + comma = self:putComma(comma) self:puts(' '):putValue(t[i]) end local dictKeys = getDictionaryKeys(t) for _,k in ipairs(dictKeys) do - if needsComma then self:puts(',') end - needsComma = true - self:tabify() - self:addKey(k) - self:puts(' = ') - self:putValue(t[k]) + comma = self:putComma(comma) + self:tabify():putKey(k):puts(' = '):putValue(t[k]) end self:up() @@ -142,7 +143,7 @@ function Inspector:putValue(v) return self end -function Inspector:addKey(k) +function Inspector:putKey(k) if type(k) == "string" and isIdentifier(k) then return self:puts(k) end