ActionScript/Condicionais
As cláusulas condicionais servem para o programa, baseando-se numa lógica de comparação, tomar uma decisão específica.
[editar] if
A declaração if é uma das mais comuns. Também pode ser usados as declarações else if e else.
Exemplo (os espaços e retornos de carro entre os blocos não são obrigatórios; foram inseridos para uma melhor visualização):
var idade:int = 17; if (idade < 18){ trace("Você é menor de idade."); } else if (idade >= 18 && idade < 65){ trace("Você é maior de idade e adulto."); } else { trace("Você tem mais de 65 anos"); }
Há estes operadores de comparação disponíveis:
- Operador de igualdade - ==
- Operador de não-igualdade - !=
- Operador de maior - >
- Operador de menor - <
- Operador de maior ou igual a - >=
- Operador de menor ou igual a - <=
Você também pode usar os seguintes operadores lógicos:
- Operador E - &&
- Operador OU - ||
- Operador de negação (false) - !
Exemplo:
var nome:String = "Fulano"; if (nome == "Fulano" || nome == "Beltrano" ){ trace("Aceito."); } else if (nome != "Fulano" && nome != "Beltrano"){ trace("Seu nome não é Fulano nem Beltrano."); } else { trace("Nome desconhecido"); }
Há também o operador is que analisa se uma condição é verdadeira ou se uma variável é de algum tipo:
var txt:String = new String(); if (txt is String) { txt = "verdadeiro"; } else { txt = "falso"; }
No caso, txt será igual a "verdadeiro", pois é uma String.
[editar] switch
Uma condicional pode se tornar muito burocrática em casos de comparações bem simples. Há a opção switch, que é um modo de comparação mais simplificado e leve que o if, porém não pode ser usado para comparações complexas. Em vez de else, esta condicional utiliza a palavra case para sinalizar uma comparação. E no fim de cada comparação é necessário inserir a palavra reservada break, senão todos os comandos serão lançados até o fim do switch (causando erro de comparação). A palavra default executa uma ação caso nenhuma das comparações tenha sido bem-sucedida. É como uma ação-padrão.
Exemplo:
var nota:int = 7; switch (nota) { // Notas para ser aprovado... case 7: trace("Aprovado no limite!"); break; case 8: trace("Boa nota, aprovado."); break; case 9: trace("Ótimo, aprovado, parabéns."); break; case 10: trace("NOTA DEZ! Excelente!!!"); break; // Qualquer nota abaixo de 7 default: trace("Você não foi aprovado..."); break; }