繰り返し文

for

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 ,

while

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 ,

do-while

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 ,

foreach

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

Table Of Contents

Previous topic

標準入出力と if

Next topic

数値型