「初めてのRuby」の復習をexpectationsで(オブジェクトとクラス)
# -*- coding: utf-8 -*- require "rubygems" require "expectations" #8章 オブジェクトとクラス Expectations do #加算メソッドの上書き expect 3 do class Fixnum alias original_add + def +(rhs); original_add(rhs).succ; end end 1 + 1 end #上書きの禁止 expect TypeError do Fixnum.freeze class Fixnum def +(rhs); 5; end end 1 + 1 end #特異メソッド expect "foo" do obj = Object.new def obj.foo; "foo"; end obj.foo end #特異クラス expect "foo" do obj = Object.new class << obj def foo; "foo"; end end obj.foo end #クラスメソッド(Classオブジェクトの特異メソッド) expect "Foo" do class Foo class << self def foo; self.to_s; end end end Foo.foo end end