2009-06-10 5 views

Répondre

8

Il appelle la méthode de classe delete pour la classe de self.

class Example 
    def self.delete 
    puts "Class method. 'self' is a " + self.class.to_s 
    end 

    def delete! 
    puts "Instance method. 'self' is a " + self.class.to_s 
    self.class.delete 
    end 
end 

Example.new.delete! 

Sorties:

Instance method. 'self' is a Example 
Class method. 'self' is a Class
+0

Alors self.class.delete est le même que Example.delete. Merci. – franz

1

C'est exact, sans tenir compte du fait que les 'méthodes de classe' de ruby ​​sont en réalité des méthodes d'instance de classe.

0

Oui, c'est une méthode de classe. Quant à savoir si cela l'appelle sur l'objet actuel, cela dépend de la façon dont vous utilisez la terminologie. Il appelle la méthode delete de la classe de l'objet actuel avec l'argument self.key.

Questions connexes