Module:Tablilaro

Une page de Wikiversité, la communauté pédagogique libre.

Ce module est utilisé dans ?


m = {}

function comparu(a,e)
  --mw.log('comparons ', a[1], e[1])
  return tostring(a[1]) < tostring(e[1])
end

function m.indecegu(tablo)
    local itablo = {}
    for ano, aro in pairs(tablo) do
        table.insert(itablo, {ano, aro})
    end
    table.sort(itablo, comparu)
    return itablo
end

function m.cxenigu(tablo, sube)
    local cxeno = ''
    for ano, aro in ipairs(tablo) do
        if  type(aro) == 'table' then
            subcxeno = '{' .. m.cxenigu(aro, true) .. '}'
        else 
            subcxeno = aro
        end
        fino = sube and '' or '\n'
        cxeno = table.concat( { cxeno, '['..ano..'] =', subcxeno,  fino }, '\t')
    end
    return cxeno
end
    
function m.testu()
    t = { ['a'] = 1, [1] = 'unudatumo', ['i'] = 'dudatumo', [5] = 2, [0] = 3,
          ['tablo'] = {4,5,6},
          ['matrico'] = { {7,8,9}, 
                          {10,11,12} } 
                          --]]
        }
    it = m.indecegu(t)
    return m.cxenigu(t) .. '\n------------\n' .. m.cxenigu(it)
end

return m