class C
end
var = "I am a local var outside"
C.class_eval do
def self.a_class_method
puts var
end
end
Je sais, ce n'est pas correct, car le def
a créé une nouvelle portée. Je sais aussi que l'utilisation define_method
peut créer une méthode d'instance sans créer une nouvelle portée, mais mon point est de savoir comment définir une méthode de classe .Comment définir dynamiquement une méthode de classe qui fera référence à une variable locale à l'extérieur?
Merci beaucoup! – Croplio
Bonne réponse. Pourriez-vous partager des liens vers la documentation de ruby sur la méta-programmation des méthodes de classe? merci – mattgathu
@mattgathu: Il n'y a pas de méthodes de classe dans Ruby. Il n'y a qu'un seul type de méthodes: les méthodes d'instance. –