Difference between revisions of "Module:Sandbox/Erutuon/random"

From blackwiki
Jump to navigation Jump to search
blackwiki>Erutuon
m (cleaner)
blackwiki>Erutuon
(stops matching when there's no match...)
Line 1: Line 1:
 +
require("Module:No globals")
 +
 
local p = {}
 
local p = {}
  
Line 22: Line 24:
 
local parameter = frame.args[1]
 
local parameter = frame.args[1]
 
return parameter == "" and "Parameter is empty." or parameter == nil and "Parameter is nil." or "Parameter contains <code>" .. parameter .. "</code>."
 
return parameter == "" and "Parameter is empty." or parameter == nil and "Parameter is nil." or "Parameter contains <code>" .. parameter .. "</code>."
 +
end
 +
 +
function p.gmatch(frame)
 +
local parameter = frame.args[1]
 +
local array = {}
 +
local n = 0
 +
for number in string.gmatch(parameter, "%d+") do
 +
n = n + 1
 +
array[n] = number or "blah"
 +
end
 +
return n .. " " .. array[n] .. " " .. table.concat(array, ", ")
 
end
 
end
  
 
return p
 
return p

Revision as of 23:32, 9 October 2016

Test

  • Script error: The function "show" does not exist.



require("Module:No globals")

local p = {}

function p.test(frame)
	local word = frame.args[1] == "print" and "Printing is allowed"
	return word
end

function p.currentFrame(frame)
	local currentFrame = mw.getCurrentFrame(frame)
	local frameTable = {}
	for k, v in pairs(currentFrame) do
		frameTable[k] = v
	end
	return frameTable and table.concat(frameTable, ", ") or "nil"
end

function p.namespace(frame)
	return frame:getParent():getTitle()
end

function p.parameterContent(frame)
	local parameter = frame.args[1]
	return parameter == "" and "Parameter is empty." or parameter == nil and "Parameter is nil." or "Parameter contains <code>" .. parameter .. "</code>."
end

function p.gmatch(frame)
	local parameter = frame.args[1]
	local array = {}
	local n = 0
	for number in string.gmatch(parameter, "%d+") do
		n = n + 1
		array[n] = number or "blah"
	end
	return n .. " " .. array[n] .. " " .. table.concat(array, ", ")
end

return p