Dokumentasion ti modulo

Daytoy a modulo ket mangited ti agpapada nga interface para iti panagproseso ti boolean wenno panangikabil ti kuerdas nga estilo ti boolean. Bayat a ti Lua ket mangipalubos ti true ken false a patpateg ti boolean, dagiti kodigo ti wiki a plantilia ket mabalin laeng a mangiyebkas kadagiti pateg babaen kadagiti kuerdas a kas ti "yes", "no", kdpy. Daytoy a modulo ket agproseso kadagitoy a kita ti kuerdas ket pagbalinenna dagitoy iti maikabil a boolean tapno maproseso ti Lua. Daytoy ket mangisubli pay kadagiti pateg ti nil a kas nil, tapno mangpalubos para iti pannakailasin a baetan ti nil ken false. Daytoy a modulo ket mangawat pay kadagiti maikabil a sabali nga estruktura ti Lua , a kas dagiti boolean, nummero, tabla, ken annong. No mangipasa kadagiti maikabil a saan a mabigbigan a kas boolean wenno nil, mabalin ti manginagan ti kasisigud a pateg a maipasubli.

Eskritu

yesno(pateg, kasisigud)

Ti value ket isu ti pateg a masubokan. Ti maikabil a boolean wenno maikabil a boolean nga estilo (kitaen dita baba) ket kankanayon a mangipateg ti true wenno false, ken nil ket kankanayon a mangipateg ti nil. Dagiti sabali a paetg ket mangipateg ti default.

Panagusar

Ti umuna ket, ikarga ti modulo. Laplagipen a daytoy ket mabalin laeng nga ikarga manipud kadagiti sabali a modulo ti Lua, saan a dagiti kadawyan a panid ti wiki. Para kadagiti kadawyan a panid ti wiki, imbes ket nga usaren ti {{wensaan}}.

local yesno = require('Modulo:Wensaan')

Adda met latta dagiti pateg a kankanayon a mangisubli ti true, ken adda met latta dagiti dadduma a kankanayon a mangisubli ti false. Dagiti pateg ti nil ket kankanayonda a mangisubli ti nil.

-- Kankanayon a mangisubli ti true:
yesno('yes')
yesno('y')
yesno('wen')
yesno('w')
yesno('true')
yesno('t')
yesno('1')
yesno(1)
yesno(true)

-- Kankanayon a mangisubli ti false:
yesno('no')
yesno('n')
yesno('saan')
yesno('s')
yesno('false')
yesno('f')
yesno('0')
yesno(0)
yesno(false)

-- Dagiti pateg ti nil ket kankanayonda a mangisubli ti nil:
yesno(nil)

Dagiti pateg ti kuerdas ket mabalinwanda iti bassit a letra sakbay a maipada dagitoy:

-- Dagitoy ket kankanayon a mangisubli ti true:
yesno('Yes')
yesno('YES')
yesno('yEs')
yesno('Y')
yesno('Wen')
yesno('WEN')
yesno('wEn')
yesno('W')
yesno('tRuE')

-- Dagitoy ket kankanayon a mangisubli ti false:
yesno('No')
yesno('NO')
yesno('nO')
yesno('N')
yesno('Saan')
yesno('SAAN')
yesno('saaN')
yesno('S')
yesno('fALsE')

Mabalinmo ti manginagan ti kasisigud a pateg no ti yesno ket makaawat ti naikabil a saan a nailista dita ngato. No saanka a mangikabil ti kasisigud, ti modulo ket mangisubli ti nil para kadagitoy a maikabkabil.

-- Dagitoy ket mangisubli ti nil:
yesno('foo')
yesno({})
yesno(5)
yesno(function() return 'This is a function.' end)

-- Dagitoy ket mangisubli ti true:
yesno('foo', true)
yesno({}, true)
yesno(5, true)
yesno(function() return 'This is a function.' end, true)

-- Dagitoy ket mangisubli ti "bar":
yesno('foo', 'bar')
yesno({}, 'bar')
yesno(5, 'bar')
yesno(function() return 'This is a function.' end, 'bar')

Kitaen a ti blanko a kuerdas ket mangiyannong pay ti kastoy a waya:

yesno('')        -- Mangisubli ti nil.
yesno('', true)  -- Mangisubli ti true.
yesno('', 'bar') -- Mangisubli ti "bar".

Urayno ti blanko a kuerdas ket kadawyan a mangiteg ti false iti wikitext, daytoy ket mangipateg ti true iti Lua. Daytoy a modulo ket kaykayatna ti panagkukua ti Lua kadagiti panagkukua ti wikitext. No matrato ti blanko a kuerdas a kas false ket importante para iti modulo, nasken nga ikkaten dagiti blanko nga argumento iti nasapsapa nga agpang iti panagproseso.

-- Function allowing for consistent treatment of boolean-like wikitext input.
-- It works similarly to the template {{yesno}}.

return function (val, default)
	-- If your wiki uses non-ascii characters for any of "yes", "no", etc., you
	-- should replace "val:lower()" with "mw.ustring.lower(val)" in the
	-- following line.
	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 == 'true'
		or val == 't'
		or val == 'on'
		or val == 'wen'
		or val == 'w'
		or val == 'agpayso'
		or val == 'pudno'
		or tonumber(val) == 1
	then
		return true
	elseif val == false
		or val == 'no'
		or val == 'n'
		or val == 'false'
		or val == 'f'
		or val == 'off'
		or val == 'saan'
		or val == 's'
		or val == 'palso'
		or tonumber(val) == 0
	then
		return false
	else
		return default
	end
end