標準入力および標準出力ストリーム

これまで、プログラムの出力はターミナルウィンドウ(または画面)に表示されてきた。ターミナルは出力の最終的なターゲットとなることが多いが、必ずしもそうとは限らない。出力を受け入れるオブジェクトは、標準出力ストリームと呼ばれる。

標準出力は文字ベースで、出力されるものはすべて、まず対応する文字表現に変換されてから、文字として出力に送られる。例えば、前の章で出力した整数値100は、値100として出力に送られるのではなく、3文字の100として送られる。

同様に、私たちが通常キーボードとして認識しているものは、実際にはプログラムの標準入力ストリームであり、これも文字ベースである。情報は常に、データに変換される文字として届く。例えば、整数値42は、実際には、文字4および2として標準入力から届く。

これらの変換は自動的に行われる。

この連続した文字の概念を"文字ストリーム"と呼ぶ。Dの標準入力と標準出力はこの説明に当てはまるため、文字ストリームである。

D言語における標準入力と標準出力のストリーム名は、それぞれstdinstdoutだ。

これらのストリームに対する操作は通常、ストリーム名、ドット、および操作を指定する必要がある。例えば、stream.operation()のように。stdinの読み取りメソッドとstdoutの書き込みメソッドは非常に頻繁に使用されるため、これらの操作はストリーム名とドットを省略して呼び出すことができる。

writelnは、実際にはstdout.writelnの略だ。同様に、writestdout.writeの略だ。したがって、hello worldプログラムは次のように書くこともできる。

import std.stdio;

void main() {
    stdout.writeln("Hello, World!");
}
演習

stdout.writewriteと同じように動作することに注意。