17
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Google Colab で Rubyを動かしてみた

Last updated at Posted at 2019-02-01

Google Colaboratory とは

Google Colaboratory はクラウドで実行できる無料のJupyter環境です。ColaboratoryはPython2, Python3に対応していますが、カスタムでインストールすることでRubyも動かすことができたので紹介します。

Rubyを動かす準備

まず、Python2 または Python3 で下記をコピー&ペーストして、RubyやIRubyをインストールします。

!apt-get install ruby-dev
!sudo apt install libtool libffi-dev ruby ruby-dev make
!sudo apt install libzmq3-dev libczmq-dev
!gem install ffi-rzmq
!gem install specific_install
!gem specific_install https://github.com/SciRuby/iruby
!iruby register
!jupyter kernelspec install ~/.ipython/kernels/ruby

必要に応じて、使いたいGemをインストールすることができます

!gem install awesome_print
!gem install pry
!gem specific_install https://github.com/SciRuby/daru
!gem specific_install https://github.com/SciRuby/daru-view
!gem install numo-narray
!gem install rumale

インストールが終了するまで待ちます。

Ruby用のノートブックをアップロードする

ファイルからノートブックをアップロード...を選択して、下記のipynbファイルをアップロードします。kernelspecで、Rubyを使うように設定してあります。1

Ruby.ipynb
{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "ruby.ipynb",
      "version": "0.3.2",
      "provenance": [],
      "collapsed_sections": []
    },
    "kernelspec": {
      "name": "ruby",
      "display_name": "ruby 2.5.1"
    }
  },
  "cells": [
    {
      "metadata": {
        "id": "BpxZ_k6Qv84W",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "puts \"hello world\""
      ],
      "execution_count": 0,
      "outputs": []
    }
  ]
}

これで、Rubyが動作する環境が構築できました。

実際に動かしてみた

Daru::Viewを利用してグラフを描いてみました。
image.png

require 'daru'
require 'daru/view'
require 'open-uri'

url = "https://vincentarelbundock.github.io/Rdatasets/csv/fpp2/arrivals.csv"

df = Daru::DataFrame.from_csv url
Daru::View.plotting_library = :googlecharts

Daru::View::Plot.new(df,
  type: :area,
  title: "International Arrivals to Australia",
  hAxis: {title: "1981Q1 - 2012Q3"},
  vAxis: {title: "千人"},
  height: 450,
  isStacked: true
).show_in_iruby

このようにして、一応Rubyが動くようになりますが、シンタックスハイライトや、インデントなどまだまだ不十分なところもあります。公式でRubyに対応してくれるともっと便利になりそうですね。
この記事は以上です。

いつもRubyを動かすには

今のところ、私はGoogle ColabをRubyで使うために次のようにしています。rubyinit.pynb などの名前で上記のスクリプトをGoogle Driveにノートブックを保存しておいて、これを実行します。そのあとRubyのノートブックを開きます。もっと適切な方法もあるかもしれません。コメントなどで教えてくださると幸いです。

参考資料

Google Colab で Julia を使ってみた

  1. この方法でGoogle Colaboratory上でさまざまな言語を動かすことができるかもしれません。

17
16
3

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
17
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?