- Ruby / Rails関連
READ MORE
どうもこんにちは片山です。最近インタビューにちょっと飽きてきたので一応情報系の学部にいるのですが、自由自在に操れる言語がHQ9+しかないことに気づいてしまったので、たまには実用的なスクリプト言語を勉強してみようということでRubyのお勉強を始めることにしました。本当はPythonのほうが興味あります
Rubyの会社でこんな記事を書いているものの、なんとなく肩身が狭いので最初のうちは独学でやっていくことにします。
少し調べてみただけでもRubyの入門ドキュメントは良さげなものが山のように転がっていたので、詳細で丁寧な説明はそちらに譲ることにして、ここではあくまでIT苦手な情報系大学生による勉強日誌・日記のつもりでやっていこうと思います。
$ brew update
久しぶりだったのでちょっと時間かかりましたが無事に終了。
$ brew install ruby-build $ brew install rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> .bash_profile $ echo 'eval "$(rbenv init -)"' >> .bash_profile $ source .bash_profile
$ 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 -v ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
期待したとおりの反応をしてくれました。
$ rbenv global [バージョン]
とやってあげることで使いたいバージョンに切り替えることができるみたいですね。
ここまででひとまずはRubyのインストールが完了しました。(多分)
お決まりのハロワです。どんな言語も「こんにちは」から入っていくものです。Rails?いえ、知らない子ですね。
print("Hello,World!¥n")
からの
$ ruby hello.rb
無事、ハロワ出来ました。
--
とか;;
とかやってしまって己の偏屈さに参ってしまいます。調べればすぐ出ますが、Rubyでのコメントは
#コメント
か
=begin コ メ ン ト =end
が使えるようです。
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
がそのまま出てきていました。一瞬僕のミスかと思ったんですが、どうやらそういうことをしてくれるメソッドらしく、他にもちょくちょく使えそうな機能がついているみたいです。
もう少しやってみようかとも思ったのですが、ハローワールドやって満足してしまうタイプの人間なので、今回はここまでということにします。
READ MORE
READ MORE
READ MORE