Archive for Janeiro 19th, 2007
A Linguagem D – Estruturas de Controle II
Me desculpem pela pausa, mas tive uns problemas. Agora, continuando com as estruturas de controle em D:
Instrução switch
Essa estrutura é parecida em qualquer linguagem ‘C-like’ (C++, Java, D):
switch(expressão)
{
case comp1 : bloco1; break;
case comp2, comp3, compn : bloco2; break;
default : bloco3; break;
}
Onde “expressão” é qualquer valor que possa ser comparado com “comp1“, “comp2“, etc. Se uma comparação for verdadeira, o respectivo bloco será executado. Se nenhum caso for executado, então default será. break é usado para se sair da estrutura switch depois de executar um bloco. Se ele não for usado, mesmo quando um bloco for executado, os outros valores serão testados até que um break seja encontrado ou o fim da estrutura.
Veja um exemplo (bem besta) de como isso funciona:
import std.stdio;
void main()
{
uint x;
switch(x)
{case 1 : writefln(“1″); break;
case 2 : writefln(“2″); break;
case 3 : writefln(“3″); break;
default : writefln(“Outro”); break;}
}
Nesse caso, como não houve uma inicialização explícita da variável, esta terá o valor padrão 0. Sendo assim, nenhum dos casos será verdadeiro, então o bloco default será executado e será exibido “Outro” na janela de console.
Uma diferença entre D e C/C++ com relação à essa instrução é que D aceita strings como expressões e casos.
Veja este exemplo (também meio besta):
import std.stdio;
void main()
{
char[] s;
s = “Oi”;
switch(s)
{case “oi” : writefln(“1″); break;
case “Oi” : writefln(“2″); break;
case “xau” : writefln(“3″); break;
default : writefln(“default”); break;}
}
Vale lembrar que essas comparações são são sensíveis ao caso (diferenciam maiúsculas de minúsculas). Sendo assim, será exibido “2″.
Por agora vou parando por aqui. Espero na próxima falar sobre todas as estruturas de repetição. Até lá.
blogblogs tags:linguagem, programacao, d
technorati tags:linguagem, programacao, d
Blogged with Flock
Add comment 19/01/2007