ActionScript/Condicionais
As cláusulas condicionais servem para o programa, baseando-se numa lógica de comparação, tomar uma decisão específica.
if
[editar | editar código-fonte]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.
switch
[editar | editar código-fonte]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;
}