オブジェクトのクラスを取得してシンボルに変換したいと考えています。特に、これを考えると:
class Apple
end
class Apple_Pie
def name
"apple pies"
end
end
fruit_table = {:Apple => :Apple_Pie}
a = Apple.new
Apple_Pie
から始まるクラスのインスタンスを取得したいと思いますa
。私は試した:
obj = Object.const_get(fruit_table[a.class])
obj.name
期待
apple pies
しかし、これは実際には起こりません。クラスをシンボルに変換する方法がわかりません。何か案は?