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

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

Google Colaboratory(以下Google Colab)は、Google社が無料で提供している機械学習の教育や研究用の開発環境です。開発環境はJupyter Notebookに似たインターフェースを持ち、Pythonの主要なライブラリがプリインストールされています。
引用元:Google Colabの使い方 (opens new window)

全国630店舗以上!もみほぐし・足つぼ・ハンドリフレ・クイックヘッドのリラクゼーション店【りらくる】

# 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の連携と速度比較をしてみたいです.

# 参考サイト

Nimの特徴や使い方をわかりやすく解説! (opens new window)

Nim初心者が始めるNimとnimpy (opens new window)

Speeding up Python code with Nim (opens new window)

Nimを組み込んでPythonを高速化してみた (opens new window)

至高の言語、Nimを始めるエンジニアへ (opens new window)

Nim Compiler User Guide (opens new window)

スレッドローカルストレージ (opens new window)

全国630店舗以上!もみほぐし・足つぼ・ハンドリフレ・クイックヘッドのリラクゼーション店【りらくる】

Google Colaboratoryとフィボナッチ数列でPythonとNimを比較する

Google Colaboratoryとフィボナッチ数列でPythonとNimを比較する

PythonとNimが連携できるようなので,Google Colaboratoryで実装しようと思います.

本稿では,フィボナッチ数列でPythonとNimの比較します.

Google ColaboratoryでNimを実行する

Google ColaboratoryでNimを実行する

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