モジュール:Yesno
ナビゲーションに移動
検索に移動
この説明文は 『 モジュール: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