Modul:Yesno/dok
To je dokumentacijska podstran za glavno stran Modul:Yesno. Namenjena je shranjevanju navodil, kategorizaciji in drugi vsebini, ki ni del glavne strani. Predloga ima preizkušanju namenjen peskovnik in testneprimere. |
Ta modul zagotavlja poenoten vmesnik za procesiranje boolean ali booleanu podobne stringe. Medtem ko Lua dovoljuje true
in false
boolena vrednosti, lahko wikikoda izrazi boolena vrednosti s pomočjo strinkov kot so "yes", "no" ali "da", "ne", itd. Ta modul obdela stringe tega tipa in jih vrne v boolean za obdelavo v Lua. Vrača tudi nil
vrednosti kot nil
, tako da se omogoča razlikovanje med nil
in false
. Modul sprejme tudi druge vhodne strukture, t.j boolean, števila, tabele in funkcije. Če vhodna vrednost ni pravilno prepoznana kot boolean ali nil
, je možno določiti tudi privzeto (default) izhodno vrednost.
Sintaksa uredi
yesno(vrednost, default)
vrednost
je vrednost, ki se bo preverila. Boolean ali booleanu podobni vhodni stringi (glej spodaj), se bodo vedno vrednotili kot true
, false
, in nil
se bo vedno vrednotil kot nil
. Druge vrednosti bodo privzele prednastavljeno vrednostdefault
.
Uporaba uredi
Ta modul lahko uporabite le znotraj drugega modula, za običajne wiki strani namesto tega uporabite predlogo {{dane}}.
local yesno = require('Modul:Yesno')
Nekatere vhodne vrednosti vedno vrnejo true
, in nekatere vedno vrnejo false
. nil
vrednost vedno vrne nil
.
-- Tile vedno vrnejo true:
yesno('da')
yesno('d')
yesno('yes')
yesno('y')
yesno('true')
yesno('1')
yesno(1)
yesno(true)
-- Tile vedno vrnejo false:
yesno('ne')
yesno('no')
yesno('n')
yesno('false')
yesno('0')
yesno(0)
yesno(false)
-- Nil vrednosti vedno vrnejo nil:
yesno(nil)
String vrednosti so pred primerjavo pretvorjene v male črke:
-- Tile vedno vrnejo true:
yesno('Da')
yesno('dA')
yesno('DA')
yesno('D')
yesno('Yes')
yesno('YES')
yesno('yEs')
yesno('Y')
yesno('tRuE')
-- Tile vedno vrnejo false:
yesno('Ne')
yesno('nE')
yesno('NE')
yesno('No')
yesno('NO')
yesno('nO')
yesno('N')
yesno('fALsE')
Določite lahko privzeto vrednost, če vhodna vrednost ne ustreza nobeni izmed zgoraj naštetim. Če privzete vrednosti ne določite, bo modul za te vrednosti vrnil nil
.
-- Tile bodo vrnili nil:
yesno('foo')
yesno({})
yesno(5)
yesno(function() return 'This is a function.' end)
-- Tile bodo vrnili true:
yesno('foo', true)
yesno({}, true)
yesno(5, true)
yesno(function() return 'This is a function.' end, true)
-- Tile bodo vrnili "bar":
yesno('foo', 'bar')
yesno({}, 'bar')
yesno(5, 'bar')
yesno(function() return 'This is a function.' end, 'bar')
Bodite pozorni na to, da tudi prazen string deluje na podoben način:
yesno('') -- Vrne nil.
yesno('', true) -- Vrne true.
yesno('', 'bar') -- Vrne "bar".
Čeprav se prazen string v wikibesedilu običajno obravnava kot false, se v Lua obravnava kot true.