16
Je suis en train d'étendre la classe de la méthode le long des lignes de:Comment obtenir l'objet Method pour une méthode?
irb(main):008:0> class A
irb(main):009:1> def a
irb(main):010:2> puts "blah"
irb(main):011:2> end
irb(main):012:1> end
=> nil
irb(main):013:0> class Method
irb(main):014:1> def aa
irb(main):015:2> p "hi"
irb(main):016:2> end
irb(main):017:1> end
=> nil
irb(main):018:0> f = A.new
=> #<A:0x54ed4>
irb(main):019:0> A.a
NoMethodError: undefined method `a' for A:Class
from (irb):19
from :0
irb(main):020:0> f.a
blah
=> nil
irb(main):027:0> f.a.aa
blah
NoMethodError: undefined method `aa' for nil:NilClass
from (irb):27
from :0
Comme prévu, quand je f.a.aa
, le .aa
est en cours d'exécution sur la valeur de retour de f.a
. Comment accéder à l'objet Method qui représente f.a
?
Je ne savais pas que la méthode de la méthode existait. Pratique. Merci. –
@squeegy: Il vous suffit d'être méthodologique dans votre recherche. :) –