Ajuda:Funções sintáticas: diferenças entre revisões
Conteúdo apagado Conteúdo adicionado
início |
m |
||
Linha 1:
Esta extensão do MediaWiki é uma coleção de funções de [[Parser|análise sintática]] ([[Parser|ParserFunctions]]). Essas funções
:<nowiki>{{</nowiki>#nomedafunção: argumento 1 | argumento 2 | argumento 3...}}
Linha 15:
=== #expr: ===
A função <tt>expr</tt> computa matematicamente expressões baseadas na permutação de números (ou [[variável|variáveis]]/[[parâmetro]]s que resultam em números) e operadores. Ele '''não''' funciona com
<nowiki>{{</nowiki> #expr: ''expressão'' }}
{| cellpadding="6px" border=1 style="border:1px solid #C0C0C0; border-collapse:collapse;"
Linha 28 ⟶ 29:
! ''Exemplo''
|-
|rowspan="2" colspan="2" align="center"|
||<nowiki>{{#expr: 123456789012345}}</nowiki> = {{#expr: 123456789012345}}
|-
Linha 62 ⟶ 63:
|-
! mod
|| "Módulo", resto da divisão após "truncar" ambos
||<nowiki>{{#expr: 30 mod 7}}</nowiki> = {{#expr: 30 mod 7}}<br />{{#expr: <tt>-</tt>8 mod <tt>-</tt>3}} = {{#expr: -8 mod -3}}<br />{{#expr: <tt>-</tt>8 mod <tt>+</tt>3}} = {{#expr: -8 mod +3}}<br /><nowiki>{{#expr: 8 mod 2.7}}</nowiki> = {{#expr: 8 mod 2.7}}<br /><nowiki>{{#expr: 8 mod 3.2}}</nowiki> = {{#expr: 8 mod 3.2}}<br /><nowiki>{{#expr: 8.9 mod 3}}</nowiki> = {{#expr: 8.9 mod 3}}
|-
Linha 82 ⟶ 83:
|-
! <>
||
||<nowiki>{{#expr: 30 <> 7}}</nowiki> = {{#expr: 30 <> 7}}
|-
!| !=
|| Desigualdade, o mesmo que '''<>''', ''xor'' lógico
||<nowiki>{{#expr: 1 != 0}}</nowiki> = {{#expr: 1 != 0}}
|-
Linha 114 ⟶ 115:
|}
Os [[Álgebra booleana|operadores booleanos]] consideram '''0''' como "falso" e qualquer outro número como "verdadeiro"
Números utilizam "." como
=== #if: ===
Linha 124 ⟶ 125:
{{ #if: ''<condição>'' | ''<então texto>'' | ''<senão texto>'' }}
Se a condição é uma string vazia ou consiste apenas de espaços em branco, então é considerada como falsa, e
Um examplo:
Linha 131 ⟶ 132:
<nowiki> | | |</nowiki>
<nowiki> | | |</nowiki>
<nowiki>{{ #if: {{{parâmetro|}}} | Parâmetro é definido. | Parâmetro não definido ou vazio
Note que a função <tt>if</tt> '''não''' suporta sinais de "=" sou expressões matemáticas. <nowiki>{{#if: 1 = 2|sim|não}}</nowiki> irá devolver "sim", porque a string "1 = 2" não é vazia.
Linha 137 ⟶ 138:
=== #ifeq: ===
<tt>ifeq</tt> compara duas strings ou números, e retorna outra string dependendo do resultado da comparação. A
<nowiki>{{</nowiki> #ifeq: ''<texto 1>'' | ''<texto 2>'' | ''<igual texto>'' | ''<não igual texto>'' }}
Linha 146 ⟶ 147:
:<tt>{{ #ifeq:"+07"|"007"| 1 | 0 }}</tt> resulta {{#ifeq:"+07"|"007"| 1 | 0 }}
:<tt>{{ #ifeq: A | a | 1 | 0 }}</tt> resulta {{#ifeq: A | a | 1 | 0 }}
<!--
Linha 158 ⟶ 159:
=== #ifexist: ===
<tt>ifexist</tt> retorna um de dois resultados,
:<code><nowiki>{{#ifexist:Wikipédia|Sim|Não}}</nowiki></code> resulta {{#ifexist:Wikipédia|Sim|Não}}, porque [[Wikipédia]] existe
Linha 176 ⟶ 177:
;O ''senão texto'' também é mostrado para expressões vazias:
:<code><nowiki>{{#ifexpr: {{ns:0}}|Presente|'''ou então'''}}</nowiki></code>
;Omitindo ambos ''então texto'' e ''senão texto'' não resulta em nenhuma saída exceto uma possível mensagem de erro; isso pode ser utilizada para checar a correção de uma expressão, ou para checar a palavra da
:<code>{{#ifexpr: 1/{{#ifeq: {{ns:4}}|Meta|1|0}}}}</code> {{#ifexpr: 1/{{#ifeq: {{ns:4}}|Meta|1|0}}}}
:<code>{{#ifexpr: 1/{{#ifeq: {{ns:4}}|Meta|0|1}}}}</code> {{#ifexpr: 1/{{#ifeq: {{ns:4}}|Meta|0|1}}}}
Linha 186 ⟶ 187:
=== #switch: ===
<code>switch</code> compara um único valor
<nowiki>{{</nowiki> #switch: ''<valor de comparação>''
Linha 196 ⟶ 197:
}}
<code>switch</code> irá procurar por cada valor passado até que um valor coincida com o valor de comparação. Quando encontrado, o resultado para aquele valor é retornado (o texto escrito após o sinal de igual). Se nenhum resultado
<nowiki>{{</nowiki> #switch: ''<valor de comparação>''
Linha 203 ⟶ 204:
}}
Note que é
<nowiki>{{</nowiki> #switch: ''<valor de comparação>''
Linha 214 ⟶ 215:
}}
Note que o valor<sub>1</sub> e valor<sub>2</sub> não possuem o sinal de igualdade. Se eles forem encontrados,
;Assim como para [[##ifeq:|#ifeq:]], a comparação
:<tt>{{ #switch: +07 | 7 = Sim | 007 = Bond | Não }}<tt> resulta {{ #switch: +07 | 7 = Sim | 007 = Bond | Não }}
:<tt>{{ #switch:"+07"|"7"= Sim |"007"= Bond | Não }}<tt> resulta {{ #switch:"+07"|"7"= Sim |"007"= Bond | Não }}
;O valor encontrado pode ser vazio
:<tt>{{ #if: {{ns:0}} | não vazio | vazio }}<tt> resulta {{ #if: {{ns:0}} | não vazio | vazio }}
:<tt>{{ #switch:{{ns:0}}|=vazio|não vazio }}<tt> resulta {{ #switch:{{ns:0}}|=vazio|não vazio }}
Linha 227 ⟶ 228:
:<tt>{{ #switch: A | a=0 | 1 }}</tt> resulta {{#switch: A | a=0 | 1 }}
Não
:<tt>{{ #swItch: A | a=0 | 1 }}</tt> resulta {{#swItch: A | a=0 | 1 }}
Linha 273 ⟶ 274:
|--------------
| N
| O dia da semana segundo
| 1 (para Segunda) a 7 (para o Domingo)
| {{#time:N}}
Linha 303 ⟶ 304:
|--------------
| M
|
| Jan
| {{#time:M}}
Linha 353 ⟶ 354:
|--------------
| h
| horas (formato de 12 horas)
| 01 até 12
| {{#time:h}}
Linha 424 ⟶ 425:
====Faixa====
A faixa de funcionamento
==Advertências==
Linha 446 ⟶ 447:
*Resultados válidos de [[#.23expr:|#expr:]] como {{#expr: 0.0000001}} ainda não são suportados como valor de entrada
*:<nowiki>{{#expr:</nowiki>{{#expr:0.0000001}}<nowiki>}}</nowiki> resulta ''{{#expr:{{#expr:0.0000001}}}}''.
*Sob certas condições, '''round 0''' resulta em '''-0''' ao invés de '''0'''. Para uma expressão '''x''', utilizando '''0+(x)''' conserta essa falha.
===Espaços brancos de condicionais===
Linha 463 ⟶ 464:
==Veja também==
*[[:m:ParserFunctions]]
*[[:
*[[:
*[[:Categoria:Predefinições utilizando ParserFunctions]]▼
*[[:m:Category:Templates using ParserFunctions]]
▲*[[:Categoria:Predefinições utilizando ParserFunctions]]
=={{Ligações externas}} ==
|