From: Mohammad Khan Date: 2004-10-30T02:59:11+09:00 Subject: Another scrach on head if (expression) block # 1 end block # 1 would be executed if expression is true. Watch this, a = 5 # 2 if (a) block # 2 end # 3 if (true) block # 3 end # 4 if (a == true) block # 4 end # 5 if (a.class == TrueClass) block # 5 end # 6 if (not a.nil?) block # 6 end Ofcource, block # 4 and #5 would not execute. Why would block # 2 ? So, isn't #6 more logical than #2. Didn't we wanted to mean #6 when we wrote #2 -- Mohammad