標準入出力と if

output.d

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import std.stdio; // readln()
import std.string; // chomp()

void main(){
  
  write("Say Hello: ");
  
  char[] line = readln().dup;
/*
  readln で 標準入力から 1 行読み込み (改行が含まれる)
*/
  line = chomp(line.idup).dup;
/*
  chomp 関数を使って改行文字を取り除く
*/

  if(line == "hello")
/*
  if 文は C と同じ, 文字列の値としての比較は == 演算子
*/
    writeln("Hi, hello.");
  else
    writeln("Bye, other words.");
/*
  write は最後に改行なし, writeln は最後に改行あり.
*/  
}

output.d の実行結果は:

[cactus:~/code_d/d_tuts]% ./output
Say Hello: hello
Hi, hello.
[cactus:~/code_d/d_tuts]% ./output
Say Hello: wtopia
Bye, other words.

output2.d

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import std.stdio;

void main(){
  int i = 1;
  string s = "wtopia";
  double d = 3.14;
  write(i, s, d);
/*
  write 系の関数は変数の型によらずその値を文字列化してくれる.
  クラスや構造体では string toString(); メンバ関数をオーバロードしているとその
  結果が使用される.
*/
}

output2.d の実行結果は:

[cactus:~/code_d/d_tuts]% ./output2
1wtopia3.14[cactus:~/code_d/d_tuts]%

Previous topic

Hello, World!

Next topic

繰り返し文