Rubyでは、任意のメソッドを使用して、オブジェクトoがクラス階層にクラスCをその祖先として持つかどうかを識別できますか?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