From: Love U Ruby Date: 2013-02-28T00:12:48+09:00 Subject: Re: Why `10` not returned without the `return` from the block ? But why mean to say when the below code works: class Simple def foo 2 + 2 end end #=> nil simple = Simple.new #=> # simple.foo #=> 4 Why not the below: class Fixnum def to_s self + 5 end end #=> nil puts 10 # #=> nil Hope my confusion is clear. -- Posted via http://www.ruby-forum.com/.