Alle 18:33, luned4 dicembre 2006, cremes.devlist / mac.com ha scritto: > def case_test(obj) > print "testing via case... " > case obj.class > when Array > puts "obj is a #{obj.class}" > when String > puts "obj is a #{obj.class}" > else > puts "obj is unknown: #{obj.class}" > end > end Your code will call Array===obj.class. According to ri aClass===anObject returns true if anObject is an instance of aClass or of one of its descentents (which more or less means if anObject.is_a?(aClass) returns true). Because of this, all your 'when' statements will fail, because obj.class is not an instance of Array or String. To do what you want, you should substitute case obj.class with case obj Stefano