LoginSignup
5
4

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-11-20

マイナー言語のお試し基準 : 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

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4