Módulo:Yesno/doc: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
555 (discussão | contribs)
m
Linha 5:
 
== Sintaxe ==
<sourcesyntaxhighlight lang="lua">yesno(valor, padrão)</sourcesyntaxhighlight>
 
<code>valor</code> é o valor a ser testado. Entradas booleanas ou de tipo booleano (ver abaixo) são sempre avaliadas como <code>true</code> ou <code>false</code>, e valores <code>nil</code> sempre são avaliados como <code>nil</code>. Outros valores são avaliados como <code>padrão</code>.
Linha 12:
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:
 
<sourcesyntaxhighlight lang="lua">local yesno = require('Module:Yesno')</sourcesyntaxhighlight>
 
Alguns valores de entrada sempre retornam <code>true</code>, e alguns sempre retornam <code>false</code>. Valores <code>nil</code> sempre retornam <code>nil</code>.
 
<sourcesyntaxhighlight lang="lua">
-- Estes sempre retornam true:
yesno('sim')
Linha 39:
-- Valores nil sempre retornam nil:
yesno(nil)
</syntaxhighlight>
</source>
 
Valores string são convertidos para letras minúsculas antes de serem testados:
 
<sourcesyntaxhighlight lang="lua">
-- Estes sempre retornam true:
yesno('Sim')
Linha 55:
yesno('nÃO')
yesno('fALsO')
</syntaxhighlight>
</source>
 
É 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á <code>nil</code> para tais entradas.
 
<sourcesyntaxhighlight lang="lua">
-- Estes retornam nil:
yesno('teste')
Linha 77:
yesno(5, 'padrão')
yesno(function() return 'Esta é uma função.' end, 'padrão')
</syntaxhighlight>
</source>
 
Note que a string vazia também funciona deste modo:
<sourcesyntaxhighlight lang="lua">
yesno('') -- Retorna nil.
yesno('', true) -- Retorna true.
yesno('', 'padrão') -- Retorna "padrão".
</syntaxhighlight>
</source>
 
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.