Modulo:String/sandbox: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Moroboshi (discussione | contributi)
test arrayto string versione plain
Moroboshi (discussione | contributi)
test funzione spacer
Riga 401:
end
return mw.ustring.rep( frame.args[1] or '', repetitions )
end
 
--[[
spacer
 
Questa funzione permette di inserire una stringa tra ogni carattere della stringa sorgente.
 
Uso:
{{#invoke:String|spacer|stringa_sorgente|spacer}}
 
Parametri:
source: La stringa in cui inserire
spacer: La stringa da inserire tra i caratteri di source (se non definita uguale a spazio)
]]
function str.spacer(frame)
local new_args = str._getParameters( frame.args, {'source', 'spacer' } );
local source_str = new_args['source'];
if source_str == nil then
return ''
end
local spacer = new_args['spacer'] or ' ';
local characters={}
mw.ustring.gsub(source_string, ".", function(c) table.insert(characters,c) end)
return table.join(characters, spacer)
end
 
Line 422 ⟶ 446:
end
 
function Param:get_first_value(args, index, base_index)
if index == base_index then
return args[mw.ustring.gsub(self.name, '#', tostring(index), 1)] or args[self.base_name] or args[self.alt] or ''
else
return args[mw.ustring.gsub(self.name, '#', tostring(index), 1)] or args[self.alt] or ''
end
end
 
Line 533 ⟶ 561:
local found = false
for i, param in ipairs(params) do
local v = param:get_first_value(args, index, base_index)
if v ~= '' then found = true end
message:add_value(v)