Модуль: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. Гэтак жа робіць і модуль. Таму для пазбягання падобных памылак пустыя радкі павінны адсейвацца да выкарыстання гэтага модуля.