Skip to content

Instantly share code, notes, and snippets.

@tkawa
Last active August 29, 2015 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tkawa/9287125 to your computer and use it in GitHub Desktop.
Save tkawa/9287125 to your computer and use it in GitHub Desktop.

RailsGirls, More! #12 2014.03.01

たのしいRuby 第12章 Numeric p240 練習問題

(1) 摂氏温度を華氏温度に変換するメソッド
f = c * 9 / 5 + 32

(2) 華氏を摂氏に変換するメソッド
移項して変換式を求める。→移項とは両辺に同じ数を足す・引く・掛ける・割る

(2-2) 1度から100度まで変換して出力
(1..100).eachがわかりやすい。

(3) サイコロを振って出た目のメソッド
Random.rand(6)+1だが、これも(1..6).to_a.sampleのほうがわかりやすい。

(4) 10個のサイコロを振って合計

sum = 0
10.times do
  sum += dice
end

が普通だが、一時変数を使わず、Rubyっぽくカッコよく書くと

10.times.inject do |sum|
  sum += dice
end
#もしくは
10.times.map{dice}.inject(:+)

さらに、RailsならEnumerable#sumがあるのでこう書ける。

10.times.sum{dice}

サーバ上 supervisord と rbenv の組み合わせ方

サーバ上で監視ツールによってスクリプトを実行するとき、環境変数が有効になっていないのでデフォルトのruby(/user/bin/rubyとか)が使われてしまう。
rbenvを使っている場合は、.ruby-versionに使用するバージョンを書いておいて、スクリプト実行前にPATH=$HOME/.rbenv/shims:$PATHを実行すると、指定したバージョンのrubyが使われる。

cf. http://shokai.org/blog/archives/7258

bundle exec

Bundlerで管理しているgem管理の環境で使う場合はbundle execをつけてbundle exec rubyのように実行する。

cf. bundle execを使わずに済む方法
http://qiita.com/naoty_k/items/9000280b3c3a0e74a618

Rubyのgemについて

gemのソースコードの格納場所(rbenvの場合)は、~/.rbenv/versions/…の下。

このパスが$LOADPATHに追加される。 requireされたとき、$LOADPATHから順にファイル名が検索され、見つかったものが読み込まれる。

Gemfileで指定したgem名は、同名が自動的にrequireされる。

weather_jp gemを使う

MSNの天気APIのラッパーgem。
http://taiki45.github.io/weather_jp/

サンプルに「うどん県」で引けるように書いてあるけど、実際は不可能。

たのしいRuby 第15章 Hash

練習問題をやりたかったけどタイムアップ。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment