Modulo:Sandbox/Brunokito/ModuloBruno: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 2:
-- Tutti i moduli Lua su Wikipedia devono iniziare definendo una variabile di tipo tabella che contenga
-- le funzioni accessibili dall'esterno. Può avere qualunque nome e contenere anche altri dati
local p = {};▼
function p.hello( frame )▼
end▼
--[[sub
end▼
Questa funzione ritorna la sottostringa di una stringa bersaglio, come indicato dagli indici
end▼
Uso:
{{#invoke:String|sub|stringa_bersaglio|indice_iniziale|indice_finale}}
return p▼
O
{{#invoke:String|sub|s=stringa_bersaglio|i=indice_iniziale|j=indice_finale}}
Parameters
s: La stringa da cui estrarre una sottostringa
i: La posizione iniziale del primo carattere della sottostringa da ritornare, se non
specificato è 1.
j: La posizione finale dell'ultimo carattere della sottostringa da ritornare, se non
specificato corrisponde alla lunghezza della stringa_bersaglio (l'ultimo carattere).
I caratteri della stringa sono numerati a partire da 1. Se i o j hanno un valore negativo allora
contano la posizione contando dalla fine della stringa, -1 è l'ultimo carattere della stringa,
-2 il penultimo, ecc...
Se le posizioni sono al di fuori degli estremi della stringa viene ritornato un messaggio di
errore.
]]--
local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } );
local s = new_args['s'] or '';
local i = tonumber( new_args['i'] ) or 1;
local j = tonumber( new_args['j'] ) or -1;
local len = mw.ustring.len( s );
-- Convert negatives for range checking
if i < 0 then
i = len + i + 1;
▲ end
if j < 0 then
j = len + j + 1;
▲ end
if i > len or j > len or i < 1 or j < 1 then
return str._error( 'Indici fuori dagli estremi della stringa' );
end
if j < i then
return str._error( 'Indici in ordine sbagliato' );
end
return mw.ustring.sub( s, i, j )
▲end
|