Je ne peux toujours pas comprendre comment faire un constructeur de sous-classe suit son parent ...
exemple:Hériter de la méthode initialize() dans ruby?
require 'mechanize'
class Scraper
attr_accessor :agent
def initialize
# I dont know if using instance variable is the right thing to do
@agent = Mechanize.new
end
end
class ScraperA < Scraper
end
Je veux faire ScraperA
suivre son comportement constructeur parent,
qui est instanciez un objet Mechanize sans me retapant Mechanize.new
dans ScraperA méthode initialize(). Est-ce possible ?
Je veux juste suivre le principe DRY mais ruby le rend difficile pour moi ???
J'espère que non, peut-être que c'est juste mon ignorance. Dans l'attente d'une solution simple, Tnx.
Edit:
il se trouve que j'ai eu méthode initialize vide() dans ScraperA, ce qui annule l'initialisation par défaut (). Alors ouais l'exemple fonctionne, parce qu'il n'y a pas de méthode d'initialisation vide. Désolé pour ma stupidité. Tnx.
Votre code fonctionne comme vous le souhaitez. Si vous avez essayé d'exécuter ce code exactement, c'est probablement parce que vous utilisez une version obsolète de ruby. – Adrian
@Adrian: Je ne pense pas qu'il existe une version de ruby où cela ne fonctionne pas. – sepp2k
Pourquoi était-ce fermé comme «trop localisé»? – 0112