Модуль:Yesno/Дакументацыя
Гэта старонка дакументацыі для Модуль:Yesno
Модуль падае адзіны інтэрфейс для апрацоўкі булевых або булевападобных уваходных даных. Lua дазваляе выкарыстоўваць лагічныя значэнні true
і false
, у той час як шаблоны, напісаныя з дапамогай вікі-разметкі, часта выкарыстоўваюць абазначэнні падобныя да «yes» і «no». Модуль пераўтворыць падобныя радкі і выдае булеўскую велічыню, прыдатную для выкарыстання ў Lua. Акрамя таго можа вяртацца значэнне nil
. Як уваходныя даныя могуць выкарыстоўвацца іншыя структуры Lua, у тым ліку булевы пераменныя, лікі, табліцы і функцыі. Акрамя таго можна задаць вяртанае прадвызначанае значэнне.
Сінтаксіс
[правіць зыходнік]yesno(value, default)
value
— правяраная велічыня. Булеўская і ім падобныя ўваходныя даныя заўсёды прыводзяць да true
альбо false
, nil
вяртае nil
. Астатнім выпадкам адпавядае default
.
Выкарыстанне
[правіць зыходнік]Для пачатку, загрузіце модуль. Звярніце ўвагу, што гэта можна зрабіць толькі з іншых модуляў.
local yesno = require('Module:Yesno')
Некаторыя значэнні заўсёды вяртаюць true
, некаторыя іншыя — false
. nil
заўсёды вяртае nil
.
-- Заўсёды вяртаюць true:
yesno('yes')
yesno('y')
yesno('true')
yesno('t')
yesno('да')
yesno('так')
yesno('д')
yesno('1')
yesno(1)
yesno(true)
-- Заўсёды вяртаюць false:
yesno('no')
yesno('n')
yesno('false')
yesno('f')
yesno('нет')
yesno('не')
yesno('н')
yesno('0')
yesno(0)
yesno(false)
-- nil заўсёды вяртае nil:
yesno(nil)
Радковыя значэнні папярэдне пераўтворацца да ніжняга рэгістра:
-- Заўсёды вяртаюць true:
yesno('Yes')
yesno('YES')
yesno('yEs')
yesno('Y')
yesno('tRuE')
-- Заўсёды вяртаюць false:
yesno('No')
yesno('NO')
yesno('nO')
yesno('N')
yesno('fALsE')
Калі yes no прымае аргумент выдатны ад пералічаных вышэй, вы можаце задаць прадвызначанае значэнне. Калі яно не зададзена, для іх будзе вяртацца nil
.
-- вяртаюць nil:
yesno('foo')
yesno({})
yesno(5)
yesno(function() return 'This is a function.' end)
-- вяртаюць true:
yesno('foo', true)
yesno({}, true)
yesno(5, true)
yesno(function() return 'This is a function.' end, true)
-- вяртаюць «bar»:
yesno('foo', 'bar')
yesno({}, 'bar')
yesno(5, 'bar')
yesno(function() return 'This is a function.' end, 'bar')
Звярніце ўвагу на паводзіны пры перадачы пустога радка:
yesno('') -- вяртае nil.
yesno('', true) -- вяртае true.
yesno('', 'bar') -- вяртае «bar».
Хоць пусты радок у вікітэксце адпавядае false, Lua ставіць яму ў адпаведнасць true. Гэтак жа робіць і модуль. Таму для пазбягання падобных памылак пустыя радкі павінны адсейвацца да выкарыстання гэтага модуля.