Module:String: Difference between revisions

Nothing to hide, but nothing to show you either.
Jump to navigation Jump to search
Content added Content deleted
No edit summary
(Undo revision 691413 by 5.66.149.62 (talk))
Line 1: Line 1:
--{{

local p = {}
local p = {}



Revision as of 23:55, 17 May 2013

Documentation for this module may be created at Module:String/doc

local p = {}

function p.length( frame )
    local arg1 = frame.args[1]
    return string.len( arg1 )
end    

function p.sub( frame )
    local arg1 = frame.args[1]
    local arg2 = tonumber( frame.args[2] )
    local arg3 = tonumber( frame.args[3] )
    if arg2 and arg3 then
        local first = arg2 + 1
        local last  = arg2 + arg3
        return string.sub( arg1, first, last )
    else
        return ""
    end
end  

--[[
This function implements that features of {{str sub old}} and is kept in order
to maintain these older templates.
]]
function p.sublength( frame )
    local i = tonumber( frame.args.i ) or 0
    local len = tonumber( frame.args.len )
    return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) )
end

return p