Bon j'ai un peu avancé grâce à la doc que j'ai lue, mais reste que je comprend pas quelque chose
Code :
class Test define_method(:fille){ "Je suis une fille" } class << self;self;end.instance_eval do def mec "Je suis un mec" end end end test = Test.new p test.fille p test.mec
|
Pourquoi test.mec n'existe pas?
Parce que le truc du define_method est bien ce que je cherche, mais malheureusement j'ai pas trouvé comment remplacer le
Code :
def fille= nom @fille = nom end
|
par un define_method (J'ai l'impression qu'on peut pas lui passer de paramètres, c'est exact? )
Edit :
Je viens de tester la chose suivante :
Code :
test = Test.new p test.fille class << test def mec= name @mec = name end def mec @mec end end test.mec = "Jean" p test.mec
|
Et bien entendu ça marche ... Mais comment enfermer ça directement dans la classe?
Message édité par esox_ch le 21-07-2009 à 11:32:55
---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait