Modul:Yesno

Revisi sejak 7 Oktober 2023 14.33 oleh Adminjavasatu (bicara | kontrib) (1 revisi diimpor)
(beda) ← Revisi sebelumnya | Revisi terkini (beda) | Revisi selanjutnya → (beda)

SintaksSunting

yesno(value, default)

value adalah nilai yang akan diuji. Input boolean atau input dengan style boolean (lihat di bawah) selalu dievaluasi menjadi true atau false, dan nil akan selalu mengevaluasi ke nil. Nilai lain dievaluasi ke default.


-- 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 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 tonumber(val) == 0
	then
		return false
	else
		return default
	end
end