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]%