2008/4/17, Peter Hickman <peter / semantico.com>: > But in this example the code between do_normal_stuff and end_normal_stuff > would never be executed, not even in C! Opss, sorry, my mistake. This would be: var = ...something... case num when 1: if ( var < 0 || var > 10 ) puts "var not valid !!!!!" break end do_normal_stuff ... ... end_normal_stuff end puts "Write it" > Why not write something simpler > > case num > when 1: > if 0 <= var and var <= 10) then > do_normal_stuff > ... > ... > end_normal_stuff > puts "Write it" > end Yes, but what I was trying to avoid is to enclose all the "real" stuff ni a "if" stament since it's in fact the default behaviour and that will be executed 99% of times. Anyway I understand that is the only way. Thanks a lot for all. :) -- IƱaki Baz Castillo <ibc / aliax.net>