Modulo:Valido in corsivo

Versione del 5 dic 2022 alle 15:43 di Sakretsu (discussione | contributi) (Sakretsu ha spostato la pagina Modulo:IsLatin a Modulo:Valido in corsivo senza lasciare redirect: nome più appropriato alla sua funzione)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
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 p = {}

-- Funzione per l'utilizzo da altro modulo
function p._main(args)
	local text = args[1] or ''

	if mw.text.trim(text) == '' then return nil end

	local i = 1
	local j = mw.ustring.len(text)

	while (i <= j) do
		local charval = mw.ustring.codepoint(mw.ustring.sub(text, i))
		if charval >= 1280 and charval < 7680 then
			return false
		elseif charval >= 8960 then
			return false
		end
		i = i + 1
	end

	return true
end

-- Funzione per il template:Valido in corsivo
function p.main(frame)
	return p._main(frame.args) and 'sì' or ''
end

return p