Module:Foreach

From vgmrips

local p = {}

function p.w(frame) -- called from Template:Fe

   local pframe = frame:getParent() 
   local tplname = pframe.args[1]   
   local delim = pframe.args[2]

   r = 
   for n,v in pframe:argumentPairs() do
      if n > 3 then
           r = r .. delim
       end
      if n>2 then r = r .. frame:expandTemplate{title = tplname, args = {v}} end
   end
   return r

end

function p.m(t,frame) -- to be called from a module -- at the top: p={foreach = require "Module:foreach"} -- example: p.foreach.m({tplname,', ',item1,item3,item3},frame)

   r = 
   tplname=t[1]
   delim=t[2]
   for n,v in ipairs(t) do
      if n > 3 then
           r = r .. delim
       end
    if n>2 then r = r .. frame:expandTemplate{title = tplname, args = {v}} end
   end
   return r

end


return p