sexta-feira, 28 de setembro de 2007

Simplificando o If em ASP com Operador Ternário

Boa tarde povo! Bem, essa função que segue abaixo nasceu de uma idéia "invejosa" minha. Como na faculdade utilizo C e Java, e no trabalho uso e abuso de Javascript, acabei sentindo a falta de, no ASP, existir "aquele" if no estilo:

var==1?true:false;
(cujo nome no cartório é Operador Ternário)

As linguagens que seguem o padrão ECMAScript possuem este recurso, e só vi isto no ASP no tempo em que eu utilizava aquela aba "Application" (que neeeeem polui o código né?), onde existia um "MM_Iif". Daí o nome da função que idealizei: "iif".
Pois bem, está aí a dita cuja:

function iif(comparacao, verdadeiro, falso)
   if(comparacao) Then
      iif = verdadeiro
   else
      iif = falso
   end if
end function


Modo de uso:
comparacao - qualquer comparação que retorne um booleano (true ou false)
verdadeiro - bloco de código a ser executado caso a comparacao retorne true
falso - bloco de código a ser executado caso a comparacao retorne false
Exemplo: <%=iif(acao="","Vazio","Não vazio")%>

Antes que me perguntem "Porque function e não sub?", vou ser sincero: Nem eu sei, comecei com function e desde então nunca mais toquei nisso. Talvez eu mude, talvez não... só o tempo dirá!

Espero ter ajudado, bom fim de semana a todos e...
[]'s do MX...

Um comentário:

Felipe Meirelles disse...

maneira essa função. facilita e muito na hora de tratar alguma condição no meio de uma linha de comando sem ter q montar todo o if gigante dentro do código. parabéns