Module:Yesno/doc/cs

From mediawiki.org
This page is a translated version of the page Module:Yesno/doc and the translation is 100% complete.
warning Varování:Tato stránka je sdílena mezi několika wiki.
Všechny změny této stránky budou automaticky zkopírované na všechny wiki, které se nachází v levém postranním panelu.

Tento modul poskytuje logické rozhraní pro zpracování booleovských hodnot nebo zadávání řetězce v booleovském stylu. Zatímco Lua povoluje logické hodnoty true a false, šablony wikikódu mohou vyjadřovat booleovské hodnoty pouze prostřednictvím řetězců, jako jsou "1", "0", "yes", "no" atd. Tento modul zpracovává tyto druhy řetězců a převádí je na booleovský vstup, který Lua zpracuje. Vrátí také hodnoty nil jako nil, aby bylo možné rozlišovat mezi nil a false. Modul také přijímá další struktury Lua jako vstup, tj. booleovské hodnoty, čísla, tabulky a funkce. Pokud je předán vstup, který není rozpoznán jako booleovský nebo nil, je možné zadat výchozí hodnotu, která se má vrátit.

Kvalita modulu

Syntaxe

yesno(value, default)

value je hodnota, která má být testována. Booleovský vstup nebo vstup v booleovském stylu (viz níže) se vždy vyhodnotí jako true nebo false a nil se vždy vyhodnotí jako nil. Ostatní hodnoty jsou vyhodnoceny jako default.

Použití

Nejprve načtěte modul. Všimněte si, že jej lze načíst pouze z jiných modulů Lua, nikoli z normálních wiki stránek. Pro normální wiki stránky můžete místo toho použít {{yesno}}.

local yesno = require('Module:Yesno')

Některé vstupní hodnoty vždy vrátí true a některé vždy vrátí false. Hodnoty nil vždy vrátí nil.

-- Tyto vždy vrátí true:
yesno('yes')
yesno('y')
yesno('true')
yesno('t')
yesno('1')
yesno(1)
yesno(true)

-- Tyto vždy vrátí false:
yesno('no')
yesno('n')
yesno('false')
yesno('f')
yesno('0')
yesno(0)
yesno(false)

-- Hodnoty nil vždy vrátí nil.
yesno(nil)

Hodnoty řetězce jsou před přiřazením převedeny na malá písmena:

-- Tyto vždy vrátí true:
yesno('Yes')
yesno('YES')
yesno('yEs')
yesno('Y')
yesno('tRuE')

-- Tyto vždy vrátí false:
yesno('No')
yesno('NO')
yesno('nO')
yesno('N')
yesno('fALsE')

Můžete zadat výchozí hodnotu, pokud yesno obdrží jiný vstup, než je uvedeno výše. Pokud nezadáte výchozí hodnotu, modul za tyto vstupy vrátí nil.

-- Tyto vrátí nil:
yesno('foo')
yesno({})
yesno(5)
yesno(function() return 'This is a function.' end)

-- Tyto vrátí true:
yesno('foo', true)
yesno({}, true)
yesno(5, true)
yesno(function() return 'This is a function.' end, true)

-- Tyto vrátí "bar":
yesno('foo', 'bar')
yesno({}, 'bar')
yesno(5, 'bar')
yesno(function() return 'This is a function.' end, 'bar')

Všimněte si, že prázdný řetězec také funguje tímto způsobem:

yesno('')        -- Vrací nil.
yesno('', true)  -- Vrací true.
yesno('', 'bar') -- Vrací "bar".

I když je prázdný řetězec ve wikitextu obvykle vyhodnocen jako false, má v Lua hodnotu true. Tento modul preferuje chování Lua před chováním wikitextu. Pokud je pro váš modul důležité zacházet s prázdným řetězcem jako false, budete muset odstranit prázdné argumenty v dřívější fázi zpracování.