最初の Nemerle プログラム


Hello World

Hello World はおそらく世界で最も有名なプログラムの 1 つです。多くのプログラミング言語の学習では最初にこのプログラムを書くことが慣例となっています。ここでもそれに倣い, Nemerle で書いた Hello World プログラムを紹介します。

using System.Console;

WriteLine("Hello, world!");

このソースコードをテキストファイルに hello.n という名前で保存し,コマンドラインから次のコマンドでコンパイルして実行ファイルを作成します。

ncc.exe /o:hello.exe hello.n

ソースコードに誤りがなければ, hello.exe という実行ファイルが作成されます。これを実行すると次の出力を得ます。

Hello, world!

Another Hello World

上述のプログラムは一般的な Hello World プログラムです。次のコードは Nemerle の特徴の 1 つであるマクロを用いて Hello World プログラムを記述しています。

using System.Console;

macro HelloWorld()
{
   WriteLine("Hello, world!");
   <[ ]>;
}

コード中の <[ ]> については最後の章で解説します。

このコードを hello-macro.n という名前で保存し,次のコマンドでコンパイルします。

ncc.exe /t:library /o:hello-macro.dll /r:Nemerle.Compiler.dll hello-macro.n

さらに次のコードを hello-main.n という名前で作成します。

HelloWorld();

そして次のようにコンパイルします。

ncc.exe /o:hello-main.exe /m:hello-macro.dll hello-main.n

コンパイルが成功すると,次のメッセージが表示されます。

Hello, world!

コンパイルにより作成された hello-main.exe は実行しても何も行いません。最初に hello-macro.n として作成されたコードがコンパイル時に実行されて,コンソールにメッセージが表示されたのです。このようにコンパイル時にコードを実行する仕組みが Nemerle のマクロシステムです。詳しくはマクロの章を参照してください。