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