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. június 10., 21:58-kor történt szerkesztése után volt. Ez a változat jelentősen eltérhet az aktuális változattól. (jav)

Homokozó/Pepo41/FrameArgs3Modul[mi ez?] • [dokumentáció: mutat, szerkeszt] • [tesztek: létrehozás]

local arguments = {}
function arguments.tablepack(...)
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 arguments.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=arguments.tablepack(...) -- 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		
		
test=arguments.unpackSelectedFrame(frame, ... )    
arguments.run= test(frame,4,5,1) 
return arguments
--[[print(unpackSelectedFrame(frame,4,5,3,1,2 ))

local arguments = {} -- ide gyűjtjük a tetszőleges számú argumentumot
function arguments.unpackFrame(frame)
    local i = 0 
    for k, v in pairs(frame.args) do   
        i = i + 1   
        arguments[i] = v 
        end
    
    for i, v in pairs(frame.args) do 
                arguments[i] = v
    end
    
    return unpack(arguments) -- sorban az argumentumok
   end
return arguments
--]]