モジュール:Yesno

出典: 謎の百科事典もどき『エンペディア(Enpedia)』
ナビゲーションに移動 検索に移動

この説明文は 『 モジュール:Yesno/doc 』 から呼び出されています。

-- このように事前にモジュールを呼び出しておくと、
local yesno = require('Module:Yesno')

-- これらすべてに true が返され、
yesno('yes')
yesno('Yes')
yesno('YES')
yesno('yEs')
yesno('y')
yesno('Y')
yesno('true')
yesno('tRuE')
yesno('t')
yesno('1')
yesno(1)
yesno(true)

-- これらすべてに false が返され、
yesno('no')
yesno('No')
yesno('NO')
yesno('nO')
yesno('n')
yesno('N')
yesno('false')
yesno('fALsE')
yesno('f')
yesno('0')
yesno(0)
yesno(false)

-- これらすべてに nil が返されます。
yesno(nil)
yesno('foo')
yesno({})
yesno(5)
yesno(function() return 'This is a function.' end)
yesno('')

-- nil の扱いは第2引数で変えることができます。
-- 以下は true が返されます。
yesno('foo', true)
yesno({}, true)
yesno(5, true)
yesno(function() return 'This is a function.' end, true)
yesno('', true)

-- 以下は "bar" が返されます。
yesno('foo', 'bar')
yesno({}, 'bar')
yesno(5, 'bar')
yesno(function() return 'This is a function.' end, 'bar')
yesno('', 'bar')

-- ただし nil は第2引数にかかわらず nil のまま返されます。
yesno(nil)
yesno(nil, true)
yesno(nil, 'bar')


移入ページ
ウィキペディア移入モジュール
このモジュールはウィキペディアModule:Yesnoから移入されたものです。
-- 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 tonumber(val) == 1
	then
		return true
	elseif val == false
		or val == 'no'
		or val == 'n'
		or val == 'false'
		or val == 'f'
		or tonumber(val) == 0
	then
		return false
	else
		return default
	end
end