見出し画像

Google ColaboratoryでNotebook風にNimを実行する

Google ColaboratoryでNimが扱えるそうなので,慣れるために適当な関数を作って慣れてみようと思います.今回は,Notebook風に実行します.

有料枠設定にしていますが,下記のサイトで他の記事もみれます.youtubeの投げ銭的な物として,お考えください.

Google Colabのファイル構成

プロジェクトディレクトリはfirst_nimとしています.度々,省略しています.

first_nim
├── Nim4Colab_first_ipython.ipynb
└── (省略)

Google Driveと連携

Google ColabとGoogle Driveを連携させ,作業ディレクトリ(ここではfirst_nim)に移動します.

# Google ColabとGoogle Driveを連携
from google.colab import drive
drive.mount('/content/drive')
# ディレクトリの移動
%cd /content/drive/My\ Drive/Nimnim/first_nim
!ls

nim4colabのインストール

Google Colab で nimコマンドを使用するためのライブラリであるnim4colabをインストールします.

!pip install git+https://github.com/demotomohiro/nim4colab.git
%load_ext nim4colab

Notebook風にnimを実行

Google Colabでnimを使用するためのおまじないとして「%%nimc」を記述すると,nimのコードを実行できるようになります.

# Google Colabでnimを使用するためのおまじない
%%nimc
echo "Hello World!"
echo "Nim version is ", NimVersion

前回,記述したnimのコードを改めてNotebook風に実行します.

# Google Colabでnimを使用するためのおまじない
%%nimc
proc reverse(s: string): string =
 result = "" # 暗黙的なresult変数
 echo high(s)
 for i in countdown(high(s), 0):
   echo i
   result.add s[i]
   
proc not_reverse(s: string): string =
 result = "" # 暗黙的なresult変数
 echo high(s)
 for i in countup(0, high(s)):
   echo i
   result.add s[i]
   
var str1 = "Reverse This!"
echo "Reversed: ", reverse(str1)
echo "------------------------------"
echo "Not Reversed: ", not_reverse(str1)


まとめ

学習しやすいようにNotebook風に実行しました.

次はPythonと連携できるようなので,Pythonの連携と速度比較をしてみたいです.

参考サイト

ここから先は

0字

¥ 100

この記事が気に入ったらサポートをしてみませんか?