Ugrás a tartalomhoz

Modul:Homokozó/Pepo41/FrameArgs3Modul

A Wikipédiából, a szabad enciklopédiából
A lap korábbi változatát látod, amilyen Pepo41 (vitalap | szerkesztései) 2013. április 20., 18:07-kor történt szerkesztése után volt. Ez a változat jelentősen eltérhet az aktuális változattól. (le)
(eltér) ← Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)

Homokozó/Pepo41/FrameArgs3Modul[mi ez?] • [dokumentáció: mutat, szerkeszt] • [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 ))