Windows
ATOM
MinGW
Nim

ATOMエディタではじめるマイナー言語探訪(あんま怖くないNim②)

More than 1 year has passed since last update.


マイナー言語のお試し基準 : ATOMエディタサポート

ATOMエディターでテキストハイライトされているくらいのプログラム言語は,たとえマイナーなものでも割合とお気軽感ある、と個人的に思っている。

C言語にコンパイルされ、C言語に近しい実行効率を発揮できるNim(現在のバージョンは0.15.2)は、まさしく気軽にお試しできるようになりつつあるところ。ということで、windows環境上のATOMエディターでのNimの始め方を備忘録しておく。他のマイナー言語お試しの際にも参考になる...かも。


ATOM側にコンソール環境を用意

ATOMでプログラミングする場合、ATOMエディタ内でコンソールを扱えるようにしておくべき。ここのところにwindows環境にははまりどころがあるらしく、webで調べるとはじめに出て来る拡張機能terminal-plusが動かなかった。

以下のブログを参考に、platformio-ide-terminalの方を入れると問題なく動作した。

http://labs.spiffield.net/archives/508


platformio-ide-terminal拡張機能の起動画面

ATOMエディタ内で下の方に追加された「+」ボタンをクリックすると platformio-ide-terminalが立ち上がる。windows環境では,powershellが立ち上がる模様。普通のコンソール画面なので、PATHが通っているものはそのまま扱える。データベースのコンソールでも操作などもATOMエディタ内で完結できるのは便利。

maria-nim.PNG


文字コードにご注意。

windows環境でプログラミング言語を扱う際には、出力される文字コードへの配慮が必要となる。レジストリを書き換えたりは大げさなので、一般的なコンソール環境と同様に、以下のコマンドで都度切り替えるくらいが良いかと。


  • 出力をutf-8とする場合


    • chcp 65001



  • 出力をShiftJisとする場合


    • chcp 932




AtomでNimしてみる。

普通にエディタをnimファイルをいじっで、コンソール上でnim c するだけ。PATHがとおっているばあい、nimとしての文法違反もエディット時に指摘してくれる。

こんなコードを書いて、コンパイル後に、

import unicode, strutils

let max =5

for i in countup(1, max):

echo $max,"回中、",$i,"回目の質問です。"
echo "10までの数字の中で、あなたのお好きな数字は?"
var num: int= readLine(stdin).parseInt

case num
of 0:
echo "ゼロですね。"
of 1:
echo "いちですか。"
of 2..10:
echo "こちらですね→ ",$int(num)
else:
echo "もっと大きいのがいいのですかねぇ"

できたexeファイルを実行してみる。

atom.PNG

やっていることは普通のC言語と概ね同じなんだけど、文法も実行方法もお手軽感がある。


Nimの文法を概観したくなった方。

日本語で概観したい場合、以下のメモ書きを参考とさせていただくのが良いのかな。と

https://gist.github.com/miyakogi/b1df00c8bc99927d9d0d