まずはDスタイルの"Hello, world!"
import std.stream;
int main( char[][] args )
{
stdout.writeLine( "Hello, world!" );
return 0;
}
つづいて、Cスタイルの"Hello, world!"
import std.c.stdio;
int main( char[][] args )
{
printf( "Hello, world!\n" );
return 0;
}
hello.dに↑のようなソースを記述し、コンパイル・実行すると
>dmd hello.d
>hello
Hello, world!
いずれの場合でもこのように出力される。
ちなみに、「import std.c.stdout;」の行は記述しなくてもデフォルトでstd.c.stdioがインポートされるらしいstd.objectモジュールは暗黙的にインポートされ、std.objectモジュールに含まれるObjectクラスにはprintfという静的メンバが存在する。 そのため「import std.c.stdout;」を記述しなくても問題ない。 すなわち、
import std.stream;
int main( char[][] args )
{
stdout.writeLine( "D-style" );
printf( "C-style\n" );
return 0;
}
のようなコードも正常に動作する。