(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}
サーバ上で監視ツールによってスクリプトを実行するとき、環境変数が有効になっていないのでデフォルトのruby(/user/bin/ruby
とか)が使われてしまう。
rbenvを使っている場合は、.ruby-version
に使用するバージョンを書いておいて、スクリプト実行前にPATH=$HOME/.rbenv/shims:$PATH
を実行すると、指定したバージョンのrubyが使われる。
cf. http://shokai.org/blog/archives/7258
Bundlerで管理しているgem管理の環境で使う場合はbundle exec
をつけてbundle exec ruby
のように実行する。
cf. bundle execを使わずに済む方法
http://qiita.com/naoty_k/items/9000280b3c3a0e74a618
gemのソースコードの格納場所(rbenvの場合)は、~/.rbenv/versions/…
の下。
このパスが$LOADPATH
に追加される。
require
されたとき、$LOADPATH
から順にファイル名が検索され、見つかったものが読み込まれる。
Gemfile
で指定したgem名は、同名が自動的にrequireされる。
MSNの天気APIのラッパーgem。
http://taiki45.github.io/weather_jp/
サンプルに「うどん県」で引けるように書いてあるけど、実際は不可能。
練習問題をやりたかったけどタイムアップ。