For faster navigation, this Iframe is preloading the Wikiwand page for Module:Yesno.

Module:Yesno

 Documentation[voir] [modifier] [historique] [purger]
warning Attention:Ne pas modifier. Cette page est maintenue par un bot. Toutes les modifications doivent être effectuées sur mediawiki.org. (traduisez cet avertissement)
Merci de nous aider à traduire cette page.

Ce module propose une fonction cohérente pour transformer des valeur ou chaine en booléen.

Utilisation

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’absence de paramètre, pour permettre la distinction entre nil et false. Lorsque ce paramètre a une valeur imprévue, le module retourne la valeur par défaut ou nil.

Syntaxe

yesno(valeur, défaut, défautVide)
  • valeur – est la valeur à tester.
  • défaut – valeur par défaut pour les valeurs qui ne sont ni assimilé à des booléens ni nil.
  • défautVide – si ce paramètre n'est pas nil ce sera la valeur par défaut pour les chaines vides ou uniquement composées d'espaces, sauts de ligne....

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.

-- Ces valeurs retournent toujours true :
yesno('oui')
yesno('yes')
yesno('y')
yesno('true')
yesno('1')
yesno(1)
yesno(true)

-- Ces valeurs retournent toujours false :
yesno('non')
yesno('no')
yesno('n')
yesno('false')
yesno('0')
yesno(0)
yesno(false)

-- Une valeur nil retourne nil :
yesno(nil)

Les chaines sont converties en minuscules avant d'être évaluées :

-- Ces valeurs retournent toujours true :
yesno('Oui')
yesno('OUI')
yesno('oUi')
yesno('tRuE')

-- Ces valeurs retournent toujours 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.

-- Ces valeurs retournent nil :
yesno('foo')
yesno({})
yesno(5)
yesno(function() return 'Ceci est une fonction.' end)

-- Ces valeurs retournent true :
yesno('foo', true)
yesno({}, true)
yesno(5, true)
yesno(function() return 'This is a function.' end, true)

-- Ces valeurs retournent "bar" :
yesno('foo', 'bar')
yesno({}, 'bar')
yesno(5, 'bar')
yesno(function() return 'This is a function.' end, 'bar')

Une chaine vide est évalué à la valeur du troisième paramètre s'il est défini, sinon à la valeur par défaut.

yesno('')               -- Retourne nil.
yesno('', true)         -- Retourne true.
yesno('', true, nil)    -- Retourne true.
yesno('', true, false)  -- Retourne false.
yesno('', 'foo', 'bar') -- Retourne 'bar'.

Attention, cette dernière fonctionnalité est différente du module présent sur en: qui n'a qu'une valeur par défaut.

Voir les statistiques d'utilisation du module sur l'outil wstat.

-- Function allowing for consistent treatment of boolean-like wikitext input.
-- It works similarly to the template ((yesno)).

return function (val, default, emptyDefault)
	-- If your wiki uses non-ascii characters for any of "yes", "no", etc., you
	-- should replace "val:lower()" with "mw.ustring.lower(val)" in the
	-- following line.
	if type(val) == 'string' then val = val:lower() end
	if val == nil then
		return nil
	elseif val == true 
		or val == 'yes'
		or val == 'y'
		or val == 'oui'
		or val == 'o'
		or val == 'true'
		or tonumber(val) == 1
	then
		return true
	elseif val == false
		or val == 'no'
		or val == 'n'
		or val == 'non'
		or val == 'false'
		or tonumber(val) == 0
	then
		return false
	elseif emptyDefault ~= nil and type(val) == 'string' and val:match( '^%s*$' ) then
		return emptyDefault
	else
		return default
	end
end
{{bottomLinkPreText}} {{bottomLinkText}}
Module:Yesno
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.