Nim言語をさわってみよう

この記事は SYSKEN Advent Calendar 2017 9日目の記事です。

みなさんこんにちは,すいはんきです。

今回は最近わたしがちょいちょい使っているNim言語の簡単な紹介をしていこうと思います。

環境

  • Antergos Linux

導入

Nimで色々するのに必要なソフトウェアをいくつか導入します。

※使用しているパッケージマネージャに応じてコマンドを変更して下さい。

Nim

# pacman -S nim

まずはNim本体。これがないと始まりません。

Nimble

# pacman -S nimble

Nim用のパッケージマネージャです。Nim用のライブラリをインストールできます。

この記事では触れませんがあると後々便利です。

Clang と GCC

# pacman -S clang

# pacman -S gcc

NimはCやC++などの言語に変換されてからそれぞれの言語用のコンパイラでコンパイルされ,実行ファイルが吐き出されます。そのため,C,C++のコンパイラが必要なのです。

Hello Nim!

伝統には微妙に則らず,まずはHello Nim!です。

echo (“Hello Nim”)

上記のように書いて,「お好きなファイル名.nim」として保存して下さい。

次にターミナル上で

$ nim c -r 保存したファイル名.nim

というコマンドを実行して下さい。ごちゃごちゃした文字が出てきたあとに

Hello Nim!

と表示されるはずです。

このコマンドについて少し解説すると

  • nim : Nimコンパイラを実行
  • c : NimのコードをCにコンパイルしてCのコンパイラに突っ込む
  • -r : コンパイル後実行

という感じになってます。オプションをいじるとCではなくC++に変換するようにしたり,最適化ができたりしますが今回は省かせていただきます。

Fizz Buzz

Hello Nim!だけでは寂しいのでFizz Buzzもやってみましょう。

1〜100の整数を出力するタイプです。

var integer: int         #変数の宣言(この場合はint型で宣言している)
  for integer in 1..100:         #integerが1~100の間ループする
    if integer mod3==0:        #integerを3で割ってあまりがゼロの場合…
        echo(“Fizz”)
    elif integer mod5==0:        #integerを5で割ってあまりがゼロの場合…
        echo(“Buzz”)
    elif integer mod15==0:        #integerを15で割ってあまりがゼロの場合…
        echo(“Fizz Buzz”)
    else:
        echo(integer)
上記のプログラムをお好きなファイル名で保存して,先程のようにコンパイルしてみて下さい。
FizzやらBuzzやら数字やらが出てくると思います。

最後に

Nim言語は実行ファイルが吐き出されるタイプの言語の中ではかなり書きやすい言語です。みなさんもNimを使ってみてはいかがでしょうか。


コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください