Module:Sandbox/Keysanger

local p = {} getArgs = require('Module:Arguments').getArgs builder = mw.html.create local div_root = builder :tag('div') :cssText('float:left;border:2em;width:80%') :wikitext('This is div_root in main program\n') --local cntnt = div_root local cntnt = builder :tag('div') :cssText('text-align:left; padding:1em; font-size:95%; margin:2em; background:yellow;width:50%') :wikitext('that is cntnt in main program\n')

function p.getArgNums(frame) -- Returns a table containing the numbers of the arguments that exist -- for the specified prefix. For example, if the prefix was 'data', and -- 'data1', 'data2', and 'data5' exist, it would return {1, 2, 5}. local nums = {} local prefix='a'   cntnt:wikitext('Das ist nun cntnt innerhalb GetArgsNums ') for k, v in pairs(frame.args) do       local num = tostring(k):match('^' .. prefix .. '([1-9]%d*)$') if num then table.insert(nums, tonumber(num)) end cntnt:wikitext( 'Key= ' .. k .. ' Value= ' .. v .. ' ' ) end -- Initially the table nums was returned table.sort(nums) -- I still don't know what to do with a table, so I return cntnt -- error: mv.log('testen der Funktion mw.log innerhalb einer Funktionsaufruf\n') cntnt:wikitext('Das ist nun cntnt am Ende von GetArgsNums\n') return tostring (cntnt) end

function p.main (frame) local sOutputText = "" cntnt:wikitext('here is p.main in cntnt\n') div_root.wikitext('here is p.main in div_root\n') for iKey,sValue in pairs(frame.args) do        sOutputText = sOutputText  .. iKey .. sValue .. "♣\n" end div_root:wikitext(sOutputText) return tostring(div_root) end

return p