吸気
どうもこんにちは片山です。最近インタビューにちょっと飽きてきたので一応情報系の学部にいるのですが、自由自在に操れる言語がHQ9+しかないことに気づいてしまったので、たまには実用的なスクリプト言語を勉強してみようということでRubyのお勉強を始めることにしました。本当はPythonのほうが興味あります
Rubyの会社でこんな記事を書いているものの、なんとなく肩身が狭いので最初のうちは独学でやっていくことにします。
少し調べてみただけでもRubyの入門ドキュメントは良さげなものが山のように転がっていたので、詳細で丁寧な説明はそちらに譲ることにして、ここではあくまでIT苦手な情報系大学生による勉強日誌・日記のつもりでやっていこうと思います。
燃焼
セットアップ編
- さて、MacでRubyをいじりたいときにはXcodeというものとHomebrewというものをインストールしなければならないようです。
未経験と言いながらどちらもインストール済みなので今回は端折りますが、念のため以下のコマンドだけ実行します。$ brew update
久しぶりだったのでちょっと時間かかりましたが無事に終了。
- お次は以下のコマンドを打っていきます。
$ brew install ruby-build $ brew install rbenv
- PATHを設定します。正直何やってるかよくわかりませんがこういうものだと思ってコピペしていきます。
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> .bash_profile $ echo 'eval "$(rbenv init -)"' >> .bash_profile $ source .bash_profile
- rbenvを使ってRubyをインストールしていきます。rbenvのイメージとしてはPythonにとってのpipとか、Haskellにとってのcabalのようなものなのでしょうか。未経験なので右も左もわかりませんが、兎にも角にも慣れだと思って進めていきます。
$ rbenv install -l
これでインストール可能なRubyのバージョンが出てきます。が、あまりに沢山のバージョンがあって目移りしてしまったので、なんとなく良い感じの位置に見えたバージョン2.3.1をチョイスしました。
$ rbenv install 2.3.1 Installed ruby-2.3.1 to /Users/筆者のユーザー名/.rbenv/versions/2.3.1
コーヒーを買いに行こうかどうしようか悩んでいる間にインストールが終わってしまいましたので、息抜きを後回しにして進めていきます。
- これでインストール終わり?チェックしてみます。
$ ruby -v
とやって「ほげほげ2.3.1ホニャララ」とか表示されるのを期待していましたら
$ ruby -v ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]
と出てきてしまいました。
せっかくなので、僕の淡い期待が裏切られるのにかかった時間を調べてみました。$ time ruby -v ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15] real 0m0.059s user 0m0.024s sys 0m0.025s
どうやらrbenvを使ってインストールしたはいいものの、今のままだとOS X標準のRuby(2.0.0)が動作してしまうみたいです。
調べてみたところ、以下のコマンドを実行すればよいとのことで早速やってみます。$ rbenv global 2.3.1
- 次にまたRubyのバージョンを確認してみます。
$ ruby -v ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
期待したとおりの反応をしてくれました。
$ rbenv global [バージョン]
とやってあげることで使いたいバージョンに切り替えることができるみたいですね。
ここまででひとまずはRubyのインストールが完了しました。(多分)
ハロワ編
お決まりのハロワです。どんな言語も「こんにちは」から入っていくものです。Rails?いえ、知らない子ですね。
- hello.rbという名前のファイルを作ってハロワしてみます。
print("Hello,World!¥n")
からの
$ ruby hello.rb
無事、ハロワ出来ました。
- よし、次にいこう!と思い、hello.rbの内容をコメントアウトして先に進もうとしたところRubyのコメントの付け方がわからないことに気づきました。
--
とか;;
とかやってしまって己の偏屈さに参ってしまいます。調べればすぐ出ますが、Rubyでのコメントは#コメント
か
=begin コ メ ン ト =end
が使えるようです。
- コメントアウトのやりかたがわかったところで、もっとhello.rbをいじっていきます。入門サイトを適当に回っていると、
print
の次はputs
というメソッドを使ってみましょうということなのでputs
を使ってみます。正直「メソッドってなんやねん。関数となにが違うねん」と思っていますが、調べてみてもよくわからないので、細かいことは気にせずに先に進んでいきます。
print
メソッドが、それ単体では改行を含まないのに対してputs
メソッドでは改行も勝手に入れてくれる、ということなんでしょうかね。puts("H") puts("e") puts("l") puts("l") puts("o") puts(",") puts("W") puts("o") puts("r") puts("l") puts("d") puts("!")
我ながらクソつまらないことをしてしまったと思っていますが、折角ぺちぺち貼って書いたので載せてみます。ちなみにちょっと気になって試してみたのですが、
puts("hoge¥n")
のようにしてみても改行は二重にはならないみたいです。
ふと思ったのですが、Rubyのprint
メソッド、put
メソッドはHaskellでいうところのputStr
関数、putStrLn
関数にそれぞれ似たような役割なのかなと。どうでもいいですね。 - 次は四則演算でも……と思っていたのですが、
p
メソッドなるものの存在が判明したのでまだまだハロワをやっていきます。p("Hello,World!¥n")
実行して出力を見てみたら、
Hello,World!¥n
がそのまま出てきていました。一瞬僕のミスかと思ったんですが、どうやらそういうことをしてくれるメソッドらしく、他にもちょくちょく使えそうな機能がついているみたいです。
排気
もう少しやってみようかとも思ったのですが、ハローワールドやって満足してしまうタイプの人間なので、今回はここまでということにします。
関連記事
- BPSスタッフインタビュー#6:渡辺正毅さん(BPS代表取締役)
- BPSスタッフインタビュー#5:原山さん(プロジェクトマネージャー)
- BPSスタッフインタビュー#4:川島誠弘さん(iOSアプリエンジニア: 2015年新卒入社)
- BPSスタッフインタビュー#3:千葉さん(マルチリンギスト)
- BPSスタッフインタビュー#2:matsuさん(2016卒新卒Webエンジニア)
- BPSスタッフインタビュー#1:田島誠也さん(2016卒新卒アプリエンジニア)