在 Ruby 中,是否可以使用任何方法来识别对象 o 在类层次结构中是否具有类 C 作为其祖先?
我在下面给出了一个例子,我使用一种假设的方法has_super_class?
来完成它。我应该如何在现实中做到这一点?
o = Array.new
o[0] = 0.5
o[1] = 1
o[2] = "This is good"
o[3] = Hash.new
o.each do |value|
if (value.has_super_class? Numeric)
puts "Number"
elsif (value.has_super_class? String)
puts "String"
else
puts "Useless"
end
end
预期输出:
Number
Number
String
Useless