タグ

2012年9月21日のブックマーク (1件)

  • 「たのしいRuby 第3版」練習問題の解答例

    数値(Numeric)クラス (1)の解答 問題で与えられた式をそのまま使ってメソッドを定義します。 def cels2fahr(cels) return cels.to_f * 9 / 5 + 32 end 与えられた摂氏温度celsを、to_fを使ってFloatに変換しています(「10.4 数値型の変換」参照)。この変換を行わないと、celsがIntegerだった場合、正しく計算されません(5で割るところの結果がIntegerになってしまいます)。 (2)の解答 (1)の逆の計算を定義します。 「+」と「*」の優先順位の違いから括弧が必要なことに注意してください。 def fahr2cels(fahr) return (fahr.to_f - 32) * 5 / 9 end さらに、華氏を1度から100度まで変えるには、uptoメソッドを使います。 1.upto(100) do |i|