Ajuda:Funções sintáticas: diferenças entre revisões
Conteúdo apagado Conteúdo adicionado
extendendo documentação, -guia |
|||
Linha 76:
====Exemplos====
{| class="wikitable"
! ''Operador''
! ''Operação''
Linha 167:
|}
=== #se: ou #if: ===
A função <tt>se</tt> ou <tt>if</tt> é uma estrutura do tipo se-então-senão. A sintaxe é:
:{{ #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 a função retorna ''senão texto''. Caso contrário, a função retorna ''então texto''. O ''senão texto'' pode ser omitido; assim, a condição for falsa, a função devolve um texto vazio.
Linha 180 ⟶ 181:
<nowiki> | | |</nowiki>
<nowiki> | | |</nowiki>
<nowiki>{{ #
Note que a função <tt>
=== #seigual: ou #ifeq: ===
<tt>seigual</tt> (ou <tt>ifeq</tt>) compara duas strings ou números, e retorna outra string dependendo do resultado da comparação. A sintaxe é:
<nowiki>{{</nowiki> #
Ambas strings podem ser interpretadas como números como se a comparação fosse numérica. Para forçar a comparação de uma cadeira de caracteres que não podem ser intepretadas como números deve-se adicionar aspas a elas:
:<tt>{{ #
:<tt>{{ #
A comparação de uma string é caso-sensitivo:
:<tt>{{ #
===
:<tt><nowiki>{{#seerro:</nowiki> ''expressão'' <nowiki>|</nowiki> ''valor se verdadeiro'' <nowiki>|</nowiki> ''valor se falso'' <nowiki>}}</nowiki></tt>
<tt>ifexist</tt> retorna um de dois resultados, baseado se existe ou não um artigo ou página com o título especificado. Exemplos:▼
:<tt><nowiki>{{#iferror:</nowiki> ''expressão'' <nowiki>|</nowiki> ''valor se verdadeiro'' <nowiki>|</nowiki> ''valor se falso'' <nowiki>}}</nowiki></tt>
Esta função determina se ocorre um erro no cálculo da expressão. Se ocorrer um erro, retorna o <tt>''valor se verdadeiro''</tt>. Se não, retorna o <tt>''valor se falso''</tt>.
:<code><nowiki>{{#ifexist:Wikipédia|Sim|Não}}</nowiki></code> resulta {{#ifexist:Wikipédia|Sim|Não}}, porque [[Wikipédia]] existe▼
:<code><nowiki>{{#ifexist:wikipédia|Sim|Não}}</nowiki></code> resulta {{#ifexist:wikipédia|Sim|Não}}, porque [[wikipédia]] é a forma canônica do artigo [[Wikipédia]]▼
:<
:<tt><nowiki>{{#seerro: {{#expr: 1 + X }} | verdadeiro | falso}}</nowiki></tt> → '''{{#seerro: {{#expr: 1 + X }} | verdadeiro | falso}}'''
:<code><nowiki>{{#ifexist:m:Help:Calculation|Sim|Não}}</nowiki></code> resulta {{#ifexist:m:Help:Calculation|Sim|Não}} entretanto [[m:Help:Calculation]] existe, porque a função não interpreta o prefixo de interwiki.▼
::porque <tt><nowiki>{{#expr: 1 + X }}</nowiki></tt> → '''{{#expr: 1 + X }}'''
Um erro ocorre quando o resultado do cálculo contém um objecto HTML com <tt>class="error"</tt>. Este objecto pode ser gerado por outras funções do analisador sintáctico, como <tt>[[##expr|#expr]]</tt>, <tt>[[##time|#time]]</tt> e <tt>[[##rel2abs|#rel2abs]]</tt>, por erros em predefinições como ciclos e recursão, ou por outros erros ''(failsoft)'' detectados pelo analisador sintáctico.
Qualquer um dos valores a retornar, ou ambos, podem ser omitidos. Se for omitido o <tt>''valor se falso''</tt> e não ocorrer um erro, é retornado o resultado da <tt>''expressão''</tt>.
:<tt><nowiki>{{#seerro: {{#expr: 1 + 2 }} | verdadeiro }}</nowiki></tt> → '''{{#seerro: {{#expr: 1 + 2 }} | verdadeiro }}'''
:<tt><nowiki>{{#seerro: {{#expr: 1 + X }} | verdadeiro }}</nowiki></tt> → '''{{#seerro: {{#expr: 1 + X }} | verdadeiro }}'''
Se também for omitido o <tt>''valor se verdadeiro''</tt> e ocorrer um erro, é retornada uma expressão vazia:
:<tt><nowiki>{{#seerro: {{#expr: 1 + 2 }} }}</nowiki></tt> → ''' {{#seerro: {{#expr: 1 + 2 }} }}'''
:<tt><nowiki>{{#seerro: {{#expr: 1 + X }} }}</nowiki></tt> → ''' {{#seerro: {{#expr: 1 + X }} }}'''
=== #seexiste ou #ifexist: ===
▲<tt>seexiste</tt> (ou <tt>ifexist</tt>) retorna um de dois resultados, baseado se existe ou não um artigo ou página com o título especificado. Exemplos:
▲:<code><nowiki>{{#
▲:<code><nowiki>{{#
:<code><nowiki>{{#seexiste:WiKiPeDiA|Sim|Não}}</nowiki></code> resulta {{#seexiste:WiKiPeDiA|Sim|Não}} porque o artigo [[WiKiPeDiA]] não existe
▲:<code><nowiki>{{#
O primeiro parâmetro é o título a ser checado, o segundo é o resultado positivo e o terceiro, o negativo. Se o parâmetro passado não produz um objeto com título válido, então o resultado é negativo.
Linha 236 ⟶ 260:
:<tt><nowiki>{{#rel2abs:</nowiki> ../../../../quatro | {{ns:12}}:Um/dois/três<nowiki>}}</nowiki></tt> → '''{{#rel2abs: ../../../../quatro | {{ns:12}}:Um/dois/três}}
=== #seexpr: ou #ifexpr: ===
<tt>seexpr</tt> (ou <tt>ifexpr</tt>) computa uma expressão matemática e retorna uma de duas strings como resultado
{{#
Se a expressão calculada resulta em zero, então o ''senão texto'' é mostrado, do contrário, o ''então texto'' é mostrado. A sintaxe da expressão é a mesma utilizada por <tt>expr</tt>.
;O ''senão texto'' também é mostrado para expressões vazias:
:<code><nowiki>{
;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 mensagem de erro (emulando ''afirmação'', erros forçados):
:<code>{{#
:<code>{{#
:<code>{{#
:<code>{{#
:<code>{{#
:<code>{{#
=== #switch: ===
Linha 587 ⟶ 611:
O objecto <tt>''data/hora''</tt> pode ter qualquer formato aceite pela função [http://uk3.php.net/manual/en/function.strtotime.php strtotime()] do PHP. São aceites objectos absolutos (<tt>20 December 2000</tt>) e relativos (<tt>+20 hours</tt>).
[[Imagem:Attention niels epting.svg|18px|link=|alt=]] '''Aviso:''' A gama de datas aceites é desde 1 de Janeiro de 0100 até 31 de Dezembro de 9999. Valores fora desta gama serão interpretados
:<tt><nowiki>{{#time: d F Y | 15 April 0099 }}</nowiki></tt> → '''{{#time: d F Y | 15 April 0099 }}'''
|