Modul:Homokozó/Pepo41/FrameArgs3Modul
Megjelenés
Homokozó/Pepo41/FrameArgs3Modul[mi ez?] • [dokumentáció: mutat, ] • [tesztek: létrehozás]
function table.pack(...)
return { n = select("#", ...), ... } -- létrehoz egy új táblát a varargs elemeivel
-- és előtte egy n mezővel , a tábla hossza így n+1
end
-- turns a frame object into a table
function unpackSelectedFrame(args,...) -- pl. frameargs, 1,3,4 azaz "Mondottam ember küzdj","és bízva bízzál", "kék
local selectarg = {} -- ide gyűjtjük a frameargsból kiválasztandó argumentumokat
selectarg=table.pack(...) -- első eleme az ilyen argumentumok száma
local segedtablnumbered = {} -- ezek lesznek a frameargs elemei egész indexekkel
local segedtablnamed = {} --ezek lesznek a pairs által visszaadott indexek, név, vagy szám
local i= 0
for name, v in pairs(args) do
i=i+1
segedtablnumbered[i] = v -- gyűlnek a frameargs elemei egész indexekkel
segedtablnamed[i] = name -- gyűlnek a frameargs elemei egész indexekkel
end
n=i
for i=1,n do print (segedtablnumbered[i]); print (segedtablnamed[i]) end
local outtabl = {} -- ezt a táblát fogjuk unpackkal kiadni
for i=1, selectarg.n do
outtabl[i]= segedtablnumbered[selectarg[i]]
end -- kész a kimenő tábla
return unpack(outtabl),unpack(segedtablnamed)
end -- unpackSelectedFrame
unpackSelectedFrame(1,3,5,2)
--print(unpackSelectedFrame(frame,4,5,3,1,2 ))