Módulo:Yesno

De Desgalipedia
Saltar ata a navegación Saltar á procura

Obxectivo[editar]

Fornece un método para procesar cadeas de tipo booleano. Os modelos só poden expresar valores booleanos con cadeas de texto como "si" ou "non", e este módulo procesa ese tipo de cadeas e convirte os valores en booleanos para que outros módulos Lua poidan empregalos.

Uso[editar]

local yesno = require('Module:Yesno')
yesno(value, default)

-- Función que permite tratar de forma consistente de texto wiki de tipo booleano
-- O funcionamento e semellante ao do modelo {{yesno}}.

return function (val, default)
	val = type(val) == 'string' and val:lower() or val
	if val == nil then
		return nil
	elseif val == true 
		or val == 'yes'
		or val == 'y'
		or val == 'si'
		or val == 's'
		or val == 'true'
		or val == 't'
		or tonumber(val) == 1
	then
		return true
	elseif val == false
		or val == 'no'
		or val == 'non'
		or val == 'n'
		or val == 'false'
		or val == 'f'
		or tonumber(val) == 0
	then
		return false
	else
		return default
	end
end