-
Notifications
You must be signed in to change notification settings - Fork 23
Condicionais
Delégua fornece instruções se
, senão se
e senão
para um fluxo condicional.
se verdadeiro {
escreva('sim'); // Escreva "sim"
}
Instruções senão se
e senão
são opcionais e devem ser anexadas a uma instrução se
. Cada declaração é seguida por um bloco de escopo que é executado de acordo com a condição da declaração.
O bloco de escopo de uma instrução se
é executado se a condição for avaliada como verdadeira. Caso contrário, quaisquer instruções senão se
anexadas serão avaliadas na ordem fornecida e, se qualquer uma dessas condições for avaliada como verdadeira, seus blocos de escopo serão executados.
Se a instrução se
não for executada e nenhuma instrução senão se
também não for, o bloco senão
será executado, se fornecido.
// Escreva "correspondente 2"
var a = 2;
se a == 1 {
escreva('correspondente 1');
} senao se a == 2 {
escreva('correspondente 2');
} senao {
escreva('sem valor correspondente');
}
// Escreva "sem comparação"
var a = 3;
se a == 1 {
escreva('correspondente 1');
} senao se a == 2 {
escreva('correspondente 2');
} senao {
escreva('Sem valor correspondente');
}
Em Delégua, senao
e senão
são equivalentes. Como alguns dispositivos não acentuam corretamente (por exemplo, Raspberry Pis), Delégua permite elementos sem acentuação.
As instruções escolha
e caso
em Delégua são uma maneira eficiente de encadear várias instruções se
quando a comparação envolve uma variável e uma lista de valores possíveis. A sintaxe requer um valor (que é comparado a cada caso), blocos de caso e um bloco padrao
, que é opcional. No início da escolha
, o valor é avaliado e comparado ao valor de cada expressão caso
. Se os valores foram iguais, o bloco de escopo do caso
em questão é executado.
Se nenhum caso
for executado, o bloco de escopo padrao
será executado, se fornecido.
// Escreve como resultado "correspondente à opção 2"
escolha 1 {
caso "1":
escreva("correspondente à opção 1");
caso 1:
escreva("correspondente à opção 2");
padrao:
escreva("Sem opção correspondente");
}
// Escreve como resultado "Sem opção correspondente"
escolha 2 {
caso "1":
escreva("correspondente à opção 1");
caso 1:
escreva("correspondente à opção 2");
padrao:
print("Sem opção correspondente");
}
Dois ou mais casos podem ser o mesmo bloco:
escolha variavel {
caso 1:
caso 2:
escreva("correspondente à opção 1 ou 2");
padrao:
escreva("Sem opção correspondente");
}
Cada caso pode ter mais de uma instrução:
escolha 2 {
caso "1":
escreva("correspondente à opção 1");
escreva("escreva de novo 1");
caso 1:
caso 2:
escreva("correspondente à opção 2");
escreva("escreva de novo 2");
escreva("escreva 3");
padrao:
escreva("Sem opção correspondente");
}
- Estruturas de dados elementares
- Entrada e saída
- Operadores
- Condicionais
- Laços de repetição
- Funções
- Funções nativas
- Escopos
- Exceções
- Tipos e Inferência de variáveis
- Orientação a objetos
- Decoradores
- Tradução para outras linguagens
- Compilação para código de máquina
- Dialetos suportados em Delégua
- Implementando Delégua na sua aplicação
- Estruturas de dados elementares
- Entrada e saída
- Operadores
- Condicionais
- Laços de repetição
- Funções
- Funções nativas
- Escopos
- Exceções
- Tipos e Inferência de variáveis
- Orientação a objetos
- Decoradores
- Tradução para outras linguagens
- Compilação para código de máquina
- Dialetos suportados em Delégua
- Implementando Delégua na sua aplicação