Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --
- -- Tests basic properties of parameters
- --
- local p = {}
- --
- -- Tests if the parameter is empty, all white space, or undefined
- --
- function p.is_empty(arg)
- return not arg or not arg:find('%S')
- end
- --
- -- Returns the parameter if it has any content, the default (2nd param)
- --
- function p.default_to(param, default)
- if param and param:find('%S') then
- return param
- else
- return default
- end
- end
- --
- -- Returns a list of paramaters if it has any content, or the default
- --
- function p.defaults(...)
- local ret = {}
- for i, v in ipairs(...) do
- if v[1] and v[1]:find('%S') then
- table.insert(ret,v[1])
- else
- -- or false, because nil is removed
- table.insert(ret,v[2] or false)
- end
- end
- return unpack(ret)
- end
- --
- -- Tests if the parameter has content
- -- The same as !is_empty, but this is more readily clear
- --
- function p.has_content(arg)
- return arg and arg:find('%S')
- end
- --
- -- uppercases first letter
- --
- function p.ucfirst(arg)
- if not arg or arg:len() == 0 then
- return nil
- elseif arg:len() == 1 then
- return arg:upper()
- else
- return arg:sub(1,1):upper() .. arg:sub(2)
- end
- end
- --
- -- uppercases first letter, lowercases everything else
- --
- function p.ucflc(arg)
- if not arg or arg:len() == 0 then
- return nil
- elseif arg:len() == 1 then
- return arg:upper()
- else
- return arg:sub(1,1):upper() .. arg:sub(2):lower()
- end
- end
- return p
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement