Dans Ruby, est-il possible d'identifier si un objet o a comme ancêtre une classe C dans la hiérarchie de classe en utilisant une méthode quelconque?Ruby: Comment identifier si un objet o a une classe C comme ancêtre dans la hiérarchie de classe?
J'ai donné un exemple ci-dessous où j'utilise une méthode hypothétique has_super_class?
pour l'accomplir. Comment dois-je faire cela en réalité?
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
Résultats escomptés:
Number
Number
String
Useless