«

»

Dec 26

Print this Post

Usando o operador ternário em ColdFusion

Problema:

Um aplicativo quer usar o operador ternário em ColdFusion

Solução:

ColdFusion 9 permite o uso do operador ternário, substituindo a função IIF.

Explicação detalhada:

O operador ternário é um operador lógico que recebe três argumentos.

( boolean expression )? expression1 : expression2


A expressão booleana entre parênteses pode ser qualquer expressão que resulta em booleano. Essa pode ser uma variável por si só ou uma função que retorne um booleano. Baseado no valor booleano, a expression1 ou expression2 é executada. Se o bolleano fôr True, a expression1 será executada, caso contrário, se fôr False, a expression2 será executada.

Exemplo com variável:

<cfset winOrLose = ( ManningIsQB )? "Win" : "Lose" />

No exemplo acima, se ManningIsQB resultar em True, então a variável winOrLose será carregada com “Win”, caso contrário, será carregada com “Lose”.

Exemplo com função:

<cfset passingYards = ( pass.passComplete()?
.pass.getPassingYards(): 0 />

No exemplo acima, a variável passingYards é carregada dependendo do resultado da funçãopassComplete(). A função passComplete() de um objeto pass é chamada e retorna True ou False. Se a função passComplete() fôr True, a variável passingYards é carregada com o resultado da função getPassingYards() do objeto pass. Caso contrário, a variável passingYards é carregada com 0.

Sem o operador ternário, o aplicativo teria que fazer alguma coisa como:

<cfif pass.passComplete()>
<cfset passingYards = pass.getPassingYards() />
<cfelse>
<cfset passingYards = 0 />
</cfif>

Usar o novo operador ternário em ColdFusion 9 é simples, mas muito poderoso e corta o núero de linhas de código que um aplicativo necessita.

by Kevin Schmidt
Versão em inglês: Adobe ColdFusion Cookbook


Permanent link to this article: https://ensina.me/coldfusion/usando-o-operador-ternario-em-coldfusion/

Leave a Reply