Modulo:Valido in corsivo

Versione del 12 nov 2017 alle 17:34 di Sakretsu (discussione | contributi) (questo diventa inutile)
Info Istruzioni per l'uso
Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Valido in corsivo/man (modifica · cronologia)
Sandbox: Modulo:Valido in corsivo/sandbox (modifica · cronologia) · Sottopagine: lista · Test: Modulo:Valido in corsivo/test (modifica · cronologia · esegui)

Modulo che implementa il template:Valido in corsivo. Da un'idea di WOSlinker.

Si può anche richiamare da un altro modulo. In questo caso ritorna "true" se riceve come primo argomento un testo che può essere scritto in corsivo, altrimenti "false".


local i = {}

-- Funzione per l'utilizzo da altro modulo
i._IsLatin = function(args)
	local txt = args[1] or ''
	if mw.text.trim(txt) == '' then return nil end
	
	local len = mw.ustring.len(txt)
	local pos = 1
	while (pos <= len) do
		charval = mw.ustring.codepoint(mw.ustring.sub(txt, pos))
		if charval >= 880 and charval < 8192 then
			return false
		elseif charval >= 8960 then
			return false
		end
		pos = pos + 1
	end
	return true
end

-- Funzione per il template IsLatin
i.IsLatin = function(frame)
	return i._IsLatin(frame.args) and 'sì' or ''
end

return i