Dokumentationen för denna modul kan skapas på Modul:String2/dok

local str = {}

--[[
  function to compare two strings, s1 and s2.
  returns 1 if s1>s2, -1 if s1<s2, and 0 if s1==s2
]]

function str.comp(frame)
  local new_args = str._getParameters( frame.args, {'s1', 's2'} );
  local s1 = new_args['s1'] or ''
  local s2 = new_args['s2'] or ''
  if (s1>s2) then return 1 end
  if (s1==s2) then return 0 end
  if (s1<s2) then return -1 end
end

function str._getParameters( frame_args, arg_list )
    local new_args = {};
    local index = 1;
    local value;
    
    for i,arg in ipairs( arg_list ) do
        value = frame_args[arg]
        if value == nil then
            value = frame_args[index];
            index = index + 1;
        end
        new_args[arg] = value;
    end
    
    return new_args;
end

return str