«

»

Nov 15

Print this Post

Usando um loop condicional

Problema:

Um loop precisa executar até certa condição ser encontrada.

Solução:

ColdFusion oferece diversas diferentes maneiras de operar um loop. Loops de queries, índices, matrizes, coleções e condicionais. Para resolver o problema de iterar até que uma certa condição seja encontrada, devemos usar um loop condicional.

Explicação detalhada:

Há vários casos onde uma aplicação quererá iterar até que uma certa condição seja encontrada. Por exemplo, um jogo de Craps vai querer continuar a rolar o dado até que o resultado seja 7 ou o ponto seja feito. Isto é feito facilmente com um loop condicional.

<cfset point = 4 />
<cfoutput>
The point is #point#! Good luck!<br/><br/>
</cfoutput>

O próximo passo será estabelecer a primeira rodada. Isto é feito usando a funç0δo RandRange() e fornecendo uma faixa de possíveis resultados da rolagem do dado, dois a doze.

<!--- roll the dice, so to speak --->
<cfset roll = RandRange( 2,12,"SHA1PRNG" ) />

Uma vez a rodada tenha sido estabelecida, o loop condicional inicia, neste caso o loop executa desde que a rodada não seja 7 ou 4.

<!--- as long at the point is not made and we don't crap out, role again! --->
<cfloop condition="roll NEQ 7 AND roll NEQ #point#">
     <!--- roll the dice again --->
     <cfoutput>#roll#<br/></cfoutput>
     <cfset roll = RandRange( 2,12,"SHA1PRNG" ) />
</cfloop>

Uma vez o loop tenha terminado, determine se o jogador passou ou falhou (crapped out).

<cfif roll EQ point> 
     You Pass! 
<cfelse> 
     You Crapped Out! 
</cfif>

Rodando o código acima, produzirá uma variação do seguinte:

Há muitas formas de uso para loops condicionais em aplicações e ColdFusion, uma vez mais, torna isso simples.

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

Permanent link to this article: https://ensina.me/coldfusion/usando-um-loop-condicional/

Leave a Reply