<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>https://homologacao2.wikifavelas.com.br/index.php?action=history&amp;feed=atom&amp;title=M%C3%B3dulo%3AYesno%2Fdoc</id>
	<title>Módulo:Yesno/doc - Histórico de revisão</title>
	<link rel="self" type="application/atom+xml" href="https://homologacao2.wikifavelas.com.br/index.php?action=history&amp;feed=atom&amp;title=M%C3%B3dulo%3AYesno%2Fdoc"/>
	<link rel="alternate" type="text/html" href="https://homologacao2.wikifavelas.com.br/index.php?title=M%C3%B3dulo:Yesno/doc&amp;action=history"/>
	<updated>2026-05-07T09:00:57Z</updated>
	<subtitle>Histórico de revisões para esta página neste wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://homologacao2.wikifavelas.com.br/index.php?title=M%C3%B3dulo:Yesno/doc&amp;diff=15047&amp;oldid=prev</id>
		<title>Patrícia Ferreira: Criou página com &#039;&lt;includeonly&gt;{{Alto uso|30000}}&lt;/includeonly&gt; &lt;!-- Categorias no final desta página e links para outros idiomas no Wikidata --&gt;  Este módulo fornece uma interface consistent...&#039;</title>
		<link rel="alternate" type="text/html" href="https://homologacao2.wikifavelas.com.br/index.php?title=M%C3%B3dulo:Yesno/doc&amp;diff=15047&amp;oldid=prev"/>
		<updated>2022-04-18T15:41:30Z</updated>

		<summary type="html">&lt;p&gt;Criou página com &amp;#039;&amp;lt;includeonly&amp;gt;{{Alto uso|30000}}&amp;lt;/includeonly&amp;gt; &amp;lt;!-- Categorias no final desta página e links para outros idiomas no Wikidata --&amp;gt;  Este módulo fornece uma interface consistent...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Alto uso|30000}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Categorias no final desta página e links para outros idiomas no Wikidata --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Este módulo fornece uma interface consistente para o processamento de strings de entrada booleanas ou de tipo booleano. É um módulo para ser usado por outros módulos, não independentemente. Enquanto Lua permite os valores booleanos &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, predefinições em código wiki só podem expressar valores booleanos através de strings tais como &amp;quot;sim&amp;quot;, &amp;quot;não&amp;quot;, etc. Este módulo processa esse tipo de strings e converte-as em entradas booleanas para que Lua possa processá-las. Ele também retorna valores &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; como &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;, para permitir que haja distinção entre &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;. O módulo também aceita outras estruturas em Lua como entrada, por exemplo booleanos, números, tabelas, e funções. É possível especificar um valor &amp;lt;code&amp;gt;padrão&amp;lt;/code&amp;gt; a ser retornado em todos os casos.&lt;br /&gt;
&lt;br /&gt;
== Sintaxe ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;yesno(valor, padrão)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;valor&amp;lt;/code&amp;gt; é o valor a ser testado. Entradas booleanas ou de tipo booleano (ver abaixo) são sempre avaliadas como &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, e valores &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; sempre são avaliados como &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;. Outros valores são avaliados como &amp;lt;code&amp;gt;padrão&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Uso ==&lt;br /&gt;
Primeiro, carrega-se o módulo. Note que só pode ser carregado a partir de outros módulos feitos em Lua, não de páginas wiki em outros domínios, como predefinições, domínio principal e/ou páginas de usuário; Para essas, a predefinição {{tl|yesno}} pode servir como substitutivo. Para carregar o módulo, utiliza-se a seguinte linha de comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alguns valores de entrada sempre retornam &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, e alguns sempre retornam &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;. Valores &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; sempre retornam &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Estes sempre retornam true:&lt;br /&gt;
yesno(&amp;#039;sim&amp;#039;)&lt;br /&gt;
yesno(&amp;#039;verdadeiro&amp;#039;)&lt;br /&gt;
yesno(&amp;#039;yes&amp;#039;)&lt;br /&gt;
yesno(&amp;#039;y&amp;#039;)&lt;br /&gt;
yesno(&amp;#039;true&amp;#039;)&lt;br /&gt;
yesno(&amp;#039;1&amp;#039;)&lt;br /&gt;
yesno(1)&lt;br /&gt;
yesno(true)&lt;br /&gt;
&lt;br /&gt;
-- Estes sempre retornam false:&lt;br /&gt;
yesno(&amp;#039;não&amp;#039;)&lt;br /&gt;
yesno(&amp;#039;falso&amp;#039;)&lt;br /&gt;
yesno(&amp;#039;no&amp;#039;)&lt;br /&gt;
yesno(&amp;#039;n&amp;#039;)&lt;br /&gt;
yesno(&amp;#039;false&amp;#039;)&lt;br /&gt;
yesno(&amp;#039;0&amp;#039;)&lt;br /&gt;
yesno(0)&lt;br /&gt;
yesno(false)&lt;br /&gt;
&lt;br /&gt;
-- Valores nil sempre retornam nil:&lt;br /&gt;
yesno(nil)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valores string são convertidos para letras minúsculas antes de serem testados:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Estes sempre retornam true:&lt;br /&gt;
yesno(&amp;#039;Sim&amp;#039;)&lt;br /&gt;
yesno(&amp;#039;SIM&amp;#039;)&lt;br /&gt;
yesno(&amp;#039;sIm&amp;#039;)&lt;br /&gt;
yesno(&amp;#039;vErDaDeIrO&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
-- Estes sempre retornam false:&lt;br /&gt;
yesno(&amp;#039;Não&amp;#039;)&lt;br /&gt;
yesno(&amp;#039;NÃO&amp;#039;)&lt;br /&gt;
yesno(&amp;#039;nÃO&amp;#039;)&lt;br /&gt;
yesno(&amp;#039;fALsO&amp;#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É possível especificar um valor padrão para o caso de yesno receber como entrada algo que não esteja listado acima. Se não for fornecido um valor padrão, o módulo retornará &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; para tais entradas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Estes retornam nil:&lt;br /&gt;
yesno(&amp;#039;teste&amp;#039;)&lt;br /&gt;
yesno({})&lt;br /&gt;
yesno(5)&lt;br /&gt;
yesno(function() return &amp;#039;Esta é uma função.&amp;#039; end)&lt;br /&gt;
&lt;br /&gt;
-- Estes retornam true:&lt;br /&gt;
yesno(&amp;#039;teste&amp;#039;, true)&lt;br /&gt;
yesno({}, true)&lt;br /&gt;
yesno(5, true)&lt;br /&gt;
yesno(function() return &amp;#039;Esta é uma função.&amp;#039; end, true)&lt;br /&gt;
&lt;br /&gt;
-- Estes retornam &amp;quot;padrão&amp;quot;:&lt;br /&gt;
yesno(&amp;#039;teste&amp;#039;, &amp;#039;padrão&amp;#039;)&lt;br /&gt;
yesno({}, &amp;#039;padrão&amp;#039;)&lt;br /&gt;
yesno(5, &amp;#039;padrão&amp;#039;)&lt;br /&gt;
yesno(function() return &amp;#039;Esta é uma função.&amp;#039; end, &amp;#039;padrão&amp;#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note que a string vazia também funciona deste modo:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
yesno(&amp;#039;&amp;#039;)        -- Retorna nil.&lt;br /&gt;
yesno(&amp;#039;&amp;#039;, true)  -- Retorna true.&lt;br /&gt;
yesno(&amp;#039;&amp;#039;, &amp;#039;padrão&amp;#039;) -- Retorna &amp;quot;padrão&amp;quot;.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Embora a string vazia geralmente seja avaliada como false em código wiki, ela é avaliada como true em Lua. Este módulo prefere o comportamento em Lua em vez do comportamento em código wiki. Se para o seu módulo for importante tratar strings vazias como false, você precisará remover os argumentos vazios em um estágio anterior do processamento.&lt;br /&gt;
&lt;br /&gt;
== Testes unitários ==&lt;br /&gt;
Abaixo estão listados [[Teste de unidade|testes unitários]] deste módulo, de modo a garantir o funcionamento do módulo em todos os casos que ele se propõe a cobrir e que ao ser atualizado ou modificado, continue a garantir seu funcionamento integral.&lt;br /&gt;
&lt;br /&gt;
{{#invoke:Yesno/Testes unitários|run_tests}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Categorias aqui e links para outros idiomas no Wikidata --&amp;gt;&lt;br /&gt;
{{#ifeq:{{SUBPAGENAME}}|Testes||&lt;br /&gt;
[[Categoria:!Metamódulos Lua]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Patrícia Ferreira</name></author>
	</entry>
</feed>