Sonny Chee wrote: > Hey Guys, > > Let me apologize upfront if this is not the appropriate place to ask > newbie questions. I can repost, if someone can point me to the correct > location. > > Assuming no is offended, my question is: > > I read that the case statement uses the === method for comparison of > each of its clauses. So, why doesn't the second comparison in the > following code snippet evaluate identically? > > a_fix_num = 1 > puts a_fix_num.class > case a_fix_num > when Integer > puts 'Yes, this is an Integer subclass' > else > puts 'No, this is not an Integer subclass' > end > > if a_fix_num === Integer > puts 'Yes, this is an Integer subclass' > else > puts 'No, this is not an Integer subclass' > end case actually evaluates the other way. Integer === a_fix_num # true > # Fixnum > # Yes, this is an Integer subclass. > # No, this is not an Integer subclass. Open up a terminal and type in ri Class#=== (and play around with ri otherwise too:) > Sonny. -- Posted via http://www.ruby-forum.com/.