Module:Sandbox/RexxS

-- This is here as a placeholder.

-- It is to demonstrate to Google-Code-in students what the module sandbox is.

local p = {}

function p.cats(frame)

local title = frame.args.title or ""

local ttlobj = mw.title.new( title, 14 )

if ttlobj then

local cont = ttlobj:getContent()

if cont then return cont:sub( 1, 100000 ) end

end

end

function p.namespaces(frame)

local ns = mw.site.namespaces

local msg = ""

for k, v in pairs(ns) do

msg = msg .. k .. " = " .. v.name .. "
"

end

return msg

end

p.roundto = function(frame)

local x = tonumber(frame.args.x) or 0

local sf = tonumber(frame.args.sf) or 0

if x == 0 then return 0 end

local s = 1

if x < 0 then

x = -x

s = -1

end

if sf < 1 then sf = 1 end

local p = 10 ^ (math.floor(math.log10(x)) - sf + 1)

x = math.floor(x / p + 0.5) * p * s

-- if it's integral, cast to an integer:

--if x == math.floor(x) then x = math.floor(x) end

return x

end

return p