====== Hello World! ====== Nimのインストールが無事に終わって''nim''コマンドが使えるようになったところで、さっそくコードを書いて動かしてみることにします。最初のプログラムは予想される通り、伝統的なHello Worldです。テキストエディタを起動して次のコードを打ち込みます。 echo "Hello, world!" 1行だけと極めてシンプルになっています。この内容のファイルを適当な作業用ディレクトリに、__hello.nim__という名前で保存します。Nimで書かれたプログラムを実行するには、コンパイルを必要とします。''nim c hello.nim''とすることでコンパイルできます。 $ nim c hello.nim Hint: used config file '/home/freemikan/.choosenim/toolchains/nim-2.0.2/config/nim.cfg' [Conf] Hint: used config file '/home/freemikan/.choosenim/toolchains/nim-2.0.2/config/config.nims' [Conf] ...................................................................... Hint: [Link] Hint: mm: orc; threads: on; opt: none (DEBUG BUILD, `-d:release` generates faster code) 27611 lines; 0.118s; 30.383MiB peakmem; proj: /home/freemikan/code/NimTutorial/hello.nim; out: /home/freemikan/code/NimTutorial/hello [SuccessX] やや冗長なメッセージが出力されますが、//[SuccessX]//というところに目を向けると、正常に完了したであろうことが窺えます。''nim c hello.nim''の代わりに、''nim compile hello.nim''とすることも出来ます。コンパイルの結果、__hello__という名前の実行可能ファイルが生成されます。それを実行してみます。 $ ./hello Hello, world! 期待通りの結果が得られました。 ''nim''には、コンパイルと実行を同時に行ってくれるサブコマンド''r''もあります。 $ nim r hello.nim Hint: used config file '/home/freemikan/.choosenim/toolchains/nim-2.0.2/config/nim.cfg' [Conf] Hint: used config file '/home/freemikan/.choosenim/toolchains/nim-2.0.2/config/config.nims' [Conf] Hint: mm: orc; threads: on; opt: none (DEBUG BUILD, `-d:release` generates faster code) 10086 lines; 0.014s; 10.488MiB peakmem; proj: /home/freemikan/code/NimTutorial/hello.nim; out: /home/freemikan/.cache/nim/hello_d/hello_47C5784933AC9B407791D45AD5FD951C951DB01D [SuccessX] Hint: /home/freemikan/.cache/nim/hello_d/hello_47C5784933AC9B407791D45AD5FD951C951DB01D [Exec] Hello, world! 最下行に//Hello, world!//と出力されていることが確認できます。同様のことを行う別のオプションもあります。''nim compile --run hello.nim''や、''nim c -r hello.nim''でも同じ結果が得られます。 ''nim''はJavaScriptにコンパイルする能力も備えています。 $ nim js hello.nim Hint: used config file '/home/freemikan/.choosenim/toolchains/nim-2.0.2/config/nim.cfg' [Conf] Hint: used config file '/home/freemikan/.choosenim/toolchains/nim-2.0.2/config/config.nims' [Conf] ....................................... Hint: opt: none (DEBUG BUILD, `-d:release` generates faster code) 21576 lines; 0.054s; 19.828MiB peakmem; proj: /home/freemikan/code/NimTutorial/hello.nim; out: /home/freemikan/code/NimTutorial/hello.js [SuccessX] __hello.js__が生成されています。Node.jsでこれを実行することが出来ます。 $ node hello.js Hello, world! WebブラウザでHTMLに読み込んで実行することももちろん可能です。