forloop.d
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | import std.stdio;
void main(){
string comma = ",";
for(int i = 0; i < 10; i++){
writef("%d %s", i, comma);
/*
write 系の関数は第 1 引数で printf と同じような書式指定ができる.
*/
}
/*
for は C と同じ
*/
writeln();
}
|
forloop.d の実行結果は:
[cactus:~/code_d/d_tuts]% ./forloop
0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,
whileloop.d
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import std.stdio;
void main(){
int i;
string comma = ",";
while(i < 10){
writef("%d %s", i, comma);
i++;
}
/*
while は C と同じ.
D 言語の組み込み型 (int, char, floatなどなど) は初期値 (型.intプロパティの値) を持つ,
int 型の変数の初期値はゼロ.
*/
writeln();
/*
改行を出力する.
*/
}
|
whileloop.d の実行結果は:
[cactus:~/code_d/d_tuts]% ./whileloop
0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,
dowhileloop.d
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import std.stdio;
void main(){
int i;
string comma = ",";
do{
writef("%d %s", i, comma);
i++;
}while(i < 10);
/*
do-while は C と同じ.
*/
writeln();
/*
改行を出力する.
*/
}
|
dowhileloop.d の実行結果は:
[cactus:~/code_d/d_tuts]% ./dowhileloop
0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,
foreachloop.d
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import std.stdio;
void main(){
string numbers = "0123456789";
foreach(char c; numbers)
/*
foreach (配列の要素の型 c; 配列) みたいに書くと頭から順番に c に配列の要素が代入されてループ.
*/
write(c, ", ");
writeln();
/*
改行を出力する.
*/
}
|
foreachloop.d の実行結果は:
[cactus:~/code_d/d_tuts]% ./foreachloop
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
foreachrange.d
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import std.stdio;
int low(){
return 3;
}
int high(int i){
return i * 2;
}
void main(){
foreach( e; low()..high(5) )
write(e);
/*
foreach のループ範囲を range 風に指定できる.
*/
writeln();
/*
改行を出力する.
*/
}
|
foreachrange.d の実行結果は:
[cactus:~/code_d/d_tuts]% ./foreachrange
3456789