やわらかテック

興味のあること。業務を通して得られた発見。個人的に試してみたことをアウトプットしています🍵

Jupyter NotebookでRubyを実行する

少し前のRubyWeeklyの中に、非常に面白そうな記事が記載されていました。

nithinbekal.com

Jupiter Notebook上でRubyのコードが実行する方法が紹介されていました。
計算領域で強いJuliaが、Jupyter Notebookで実行可能というのは前々から把握していたのですが、まさかRubyがJupyter Notebook上で実行できるとは...。

使用したい場面があるのか全く分かりませんが、面白そうなので試してみます。

実行環境の用意

色々とインストールするのが手間なので、Docker上で完結するようにしました。
docker compose upを実行すればコンテナが立ち上がってJupyter Notebookがブラウザ上から使えるようになります。 一応、ボリュームの設定はしてありますが、最小限の対応です。

github.com

Dockerfileの作成にあたって、すでに同じことをされている方がいたので参考にさせて頂きました。

jupyter notebookをDockerで作成しrubyを動かす - Qiita

いざ使ってみる

新規notebookを追加しようとすると、Kernelの一覧にRuby3.0.2が表示されます。
無事にRubyをJupyter Notebook上で実行する準備ができていたようで安心しました。

適当にRubyのコードを書いてみます。
標準出力を行うと、Pythonを実行した際と同じようにセル内に結果が出力されます。
別セルで定義した関数やクラスも、問題なく呼び出して実行することができました。PythonでJypyter Notebookを使っている感覚と全く同じです。

よく見てみると、右上にRubyのアイコンが表示されていますね。こだわりを感じます。

実際に使うのかどうか

問題なくJupyter Notebook上でRubyを実行可能だということが分かりました。
ただ、実際に使うことはあるのかというと、 個人的な答えとしては「ほぼNo」になります。
気軽にRubyのコードを試すのであれば標準搭載のirbで十分ですし、Pythonでデータ処理をするケースのように、クレンジングの途中結果を確認したいということは、あまり想定できません。
...となると、RubyをJupyter Notebook上で動かすことにメリットをあまり感じません。

ただ、レシピの1つとして覚えておくと、何か検証を大量にやりたいかつ、結果を残しておきたい場合はよいかもしれません。 例えばライブラリが思わぬ挙動をする際に、Jupyter Notebook上で挙動を検証して、結果付きのレポートを提出するといった使い方は良さげな気がします。

少しでも「ええな〜」と思ったらはてなスター・はてなブックマーク・シェアを頂けると励みになります。