Бұл Module:Yesno модуліне арналған құжаттама беті

Бұл модуль логикалық немесе логикалық тәрізді кірістерді өңдеуге арналған бірыңғай интерфейсті ұсынады. Lua true және Үлгі:Luafalse логикалық мәндерін пайдалануға мүмкіндік береді, ал вики-белгілеу арқылы жазылған шаблондар көбінесе "иә" және "жоқ"сияқты белгілерді қолданады. Модуль ұқсас жолдарды түрлендіреді және Lua-да қолдануға жарамды логикалық мән береді. Сонымен қатар, қайтарылатын мән Үлгі:Luanil мүмкін. Lua-ның басқа құрылымдары, соның ішінде логикалық айнымалылар, сандар, кестелер және функциялар кіріс ретінде пайдаланылуы мүмкін. Сонымен қатар, әдепкі қайтару мәнін орнатуға болады.

= Синтаксис = өңдеу

yesno(value, default)

value< / code — - тексерілетін мән. Логикалық және ұқсас кірістер әрқашан true немесе Үлгі:Luafalse, Үлгі:Luanil Үлгі:Luanil қайтарады. Қалған жағдайлар default< / code > сәйкес келеді.

= Пайдалану = өңдеу

Бастау үшін модульді жүктеңіз. Мұны тек басқа модульдерден жасауға болатындығын ескеріңіз.

local yesno = require('Module:Yesno')

Кейбір мәндер әрқашан true, ал басқалары Үлгі:Luafalse қайтарады. Үлгі:Luanil әрқашан Үлгі:Luanil қайтарады.

-- Әрқашан шындықты қайтарыңыз:
yesno('yes')
yesno('y')
yesno('true')
yesno('t')
yesno ('иә')
yesno ('d')
yesno('+')
yesno('1')
yesno(1)
yesno(true)

-- Әрқашан жалған қайтарады:
yesno('no')
yesno('n')
yesno('false')
yesno('f')
yesno ('жоқ')
yesno ('N')
yesno('-')
yesno('0')
yesno(0)
yesno(false)

-- nil әрқашан nil қайтарады:
yesno(nil)

Жол мәндері төменгі регистрге алдын ала түрлендіріледі:

-- Әрқашан шындықты қайтарыңыз:
yesno('Yes')
yesno('YES')
yesno('yEs')
yesno('Y')
yesno('tRuE')

-- Әрқашан жалған қайтарады:
yesno('No')
yesno('NO')
yesno('nO')
yesno('N')
yesno('fALsE')

Егер yesno жоғарыда айтылғандардан өзгеше аргументті қабылдаса, сіз әдепкі мәнді орната аласыз. Егер ол орнатылмаған болса, олар үшін Үлгі:Luanil қайтарылады.

-- 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)

-- қайтару "бар":
yesno('foo', 'bar')
yesno({}, 'bar')
yesno(5, 'bar')
yesno(function() return 'This is a function.' end, 'bar')

Бос жолды беру кезінде мінез-құлыққа назар аударыңыз:

yesno('')        -- Returns nil.
yesno('', true)  -- Returns true.
yesno('', 'bar') -- Returns "bar".

Викитекстегі бос жол Үлгі:Luafalse сәйкес келсе де, Луа оған true сәйкес келеді. Модуль де солай істейді. Сондықтан болдырмау үшін осындай қателіктер бос жолдар болуы тиіс отсеиваться қолдану осы модуль.