From: Love U Ruby Date: 2013-02-27T22:36:27+09:00 Subject: Why `10` not returned without the `return` from the block ? CODE - I class Fixnum alias other_s to_s def to_s a = self + 5 return a.other_s end end #=> nil puts 5 10 #=> nil CODE - II class Fixnum alias other_s to_s def to_s self + 5 #return a.other_s end end puts 5 # #=> nil What I know that block returns automatically its last expression. Why does `10` not the returned here, rather `#`? But with the `return a.other_s` `10` printed - what is the concpetual difference between CODE-I and CODE - II? Please help me to understand. Thanks -- Posted via http://www.ruby-forum.com/.