Module:Yesno/Documentation
Utilisation
Ce module propose une fonction cohérante pour transformer des valeur ou chaine en booléen.
Le wikicode ne permet pas de saisir directement des valeur booléenne, seulement des chaine type « oui » ou « non ». Ce module les évalue et détermine une valeur booléenne true
ou false
que lua pourra utiliser. Il retourne nil
en l'abscence de paramètre, pour permettre la distiction entre nil
et false
. Lorsque ce paramètre a une valeur imprévue, le module retourne la valeur par défaut ou nil
.
Syntax
yesno(valeur, défaut)
valeur
– est la valeur à tester.défaut
– valeur par défault pour les valeurs qui ne sont ni assimilé à des booléens ninil
.
Exemples
Il faut commencer par charger le module. Il ne peut être appelé que depuis un autre module Lua, il ne peut pas être appelé directement par un modèle.
local yesno = require('Module:Yesno')
Certaines valeurs retournent toujours true
, d'autres valeurs retournent toujours false
. La valeur nil
retourne toujours nil
.
-- These always return true:
yesno('oui')
yesno('yes')
yesno('y')
yesno('true')
yesno('1')
yesno(1)
yesno(true)
-- These always return false:
yesno('non')
yesno('no')
yesno('n')
yesno('false')
yesno('0')
yesno(0)
yesno(false)
-- A nil value always returns nil:
yesno(nil)
Les chaines sont converties en minuscules avant d'être évaluées :
-- These always return true:
yesno('Oui')
yesno('OUI')
yesno('oUi')
yesno('tRuE')
-- These always return false:
yesno('Non')
yesno('NON')
yesno('nOn')
yesno('fALsE')
Une valeur par défaut peut être spécifiée pour les valeurs autres que celle listée ci-dessus. Si aucune valeur par défaut n'est fournie le module retourne nil
pour ces valeurs.
-- These return nil:
yesno('foo')
yesno({})
yesno(5)
yesno(function() return 'This is a function.' end)
-- These return true:
yesno('foo', true)
yesno({}, true)
yesno(5, true)
yesno(function() return 'This is a function.' end, true)
-- These return "bar":
yesno('foo', 'bar')
yesno({}, 'bar')
yesno(5, 'bar')
yesno(function() return 'This is a function.' end, 'bar')
Une chaine vide est aussi évalué à la valeur par défaut.
yesno('') -- Returns nil.
yesno('', true) -- Returns true.
yesno('', 'bar') -- Returns "bar".
Une chaine vide est évaluée comme « false» en wikitexte, mais comme « true » en Lua. Ce module suis le comportement de Lua. S'il est important que les chaine vide soit considérée comme « false » pour vvotre module, vous devez supprimer les paramètres vides avant d'appeler ce module.