Je regardais le premier screencast de métaprogrammation ruby par prag dave. À un moment donné, il a dit que ruby introduisait des «classes fantômes» lorsque vous ajoutez une méthode à une variable d'instance. je.Comment accéder aux classes de parents fantômes à ruby?
animal = "cat"
def animal.speak
puts "hola"
end
animal.speak # => hola
animal.class # => String
dog = "dog"
dog.speak # Undefined method `speak' for "dog":String
String.send :speak # NoMethodError: undefined method `speak' for String:Class
animal.send :speak # hola
Où est vraiment le magasin de méthode speak? S'il s'agit d'une classe proxy invisible, Comment pouvons-nous accéder à cette classe proxy?
Thx, thats une très bonne réponse. – Pedro