Mae向きなブログ

Mae向きな日記のブログ版。ようやくこちらに移行してきました。

Koansで気付いたこと

Learning Ruby with the EdgeCase Ruby Koans」を,ゆっくり進めていますが,about_open_class のところで気になったところを書いておきます。

class ::Fixnum ではないか?

about_open_class.rb の32行目は,元々,class ::Integer になっていますが,::Integer のところは,::Fixnum だと思うのですが,いかがでしょう?

  # ------------------------------------------------------------------

  class ::Fixnum   #   class ::Integer <==== 32行目です。
    def even?
      (self % 2) == 0
    end
  end

  def test_even_existing_built_in_classes_can_be_reopened
    assert_equal false, 1.even?
    assert_equal true, 2.even?
  end

  # NOTE: To understand why we need the :: before Integer, you need to
  # become enlightened about scope.  
end

実行環境

$ ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.4.0]