Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
-- This file:
--   http://anggtwu.net/LUA/SortedKeys1.lua.html
--   http://anggtwu.net/LUA/SortedKeys1.lua
--          (find-angg "LUA/SortedKeys1.lua")
-- Author: Eduardo Ochs <eduardoochs@gmail.com>
--
-- (defun e () (interactive) (find-angg "LUA/SortedKeys1.lua"))
-- Used by: (find-es "lua5" "luasvgwriter")

SortedKeys = Class {
  type = "SortedKeys",
  from = function (T)
      local keys = VTable {}
      for i,kv in ipairs(Tos({}):getsortedkvs(T)) do
        table.insert(keys, kv.key)
      end
      return SortedKeys {T=T, keys=keys}
    end,
  __tostring = function (sk) return sk:tostring1() end,
  __index = {
    tostring0 = function (sk) return tostring(sk.keys) end,
    tostringf = function (sk, f) return tostring(DGetInfo.fromfunction(f)) end,
    tostringv = function (sk, v)
        if type(v) == "function" then return sk:tostringf(v) end
        return " "..type(v)
      end,
    tostringk = function (sk, k)
        return mytostring(k)
      end,
    tostring1 = function (sk)
        local f = function (k)
            return format("%-15s ->%s", sk:tostringk(k), sk:tostringv(sk.T[k]))
          end
        return mapconcat(f, sk.keys, "\n")
      end,
  },
}



--[[
* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
dofile "SortedKeys1.lua"
= SortedKeys.from(Tos)
= SortedKeys.from(Tos.__index)
= SortedKeys.from(Tos.__index):tostring0()


--]]





-- Local Variables:
-- coding:  utf-8-unix
-- End: