Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:AeroWikiListTools: Difference between revisions

From Aeronautica Official Wiki
Sqwishyish (talk | contribs)
m Added the ability for the string 'None' not to be a link
Sqwishyish (talk | contribs)
m Sqwishyish moved page Module:Aero wiki list tools to Module:AeroWikiListTools: Change to camel case
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
-- Created by @Sqwishyish on discord
-- Contact me for any issues
local getArgs = require('Module:Arguments').getArgs
local getArgs = require('Module:Arguments').getArgs


Line 12: Line 15:
p.split_list = makeInvokeFunc('_split_list')
p.split_list = makeInvokeFunc('_split_list')
p._split_list = function (args)
p._split_list = function (args)
local input_string = args[1]
-- Get arguments passed from function call
local template = args[2]
local input_string = args[1] -- List string to modify
local missing_string = args[3]
local template = args[2] -- String to put at each {split}
local missing_string = args[3] -- String to return when either the template or the input is nil
     local new_string = ''
     local new_string = ''
      
      
    -- Check if input string exists
     if input_string == nil or template == nil then
     if input_string == nil or template == nil then
return missing_string
return missing_string
     end
     end
      
      
    -- Check if input string is not 'None'
     if input_string == 'None' then
     if input_string == 'None' then
return 'None'
return 'None'
     end
     end
 
-- Split string by commas and append the template at each {split} point
     for split in string.gmatch(input_string , '([^,]+)') do
     for split in string.gmatch(input_string , '([^,]+)') do
         new_string = new_string .. template:gsub('{split}', split:match('^%s*(.-)%s*$')) .. ' '
         new_string = new_string .. template:gsub('{split}', split:match('^%s*(.-)%s*$')) .. ' '
     end
     end
      
      
    -- Remove comma on end of list
     if template:sub(-1) == ',' then
     if template:sub(-1) == ',' then
     new_string = new_string:sub(1, -3)
     new_string = new_string:sub(1, -3)
Line 35: Line 43:
     end
     end
      
      
    -- Return the new string to the list
     return new_string
     return new_string
end
end
return p
return p
Cookies help us deliver our services. By using our services, you agree to our use of cookies.