io ancora non riesco a capire come fare un costruttore della sottoclasse seguire suo padre ...
esempio:Eredita il metodo initialize() in 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
voglio fare ScraperA
seguire il suo comportamento costruttore genitore,
che è istanziare un oggetto Mechanize senza me ridigitare Mechanize.new
in metodo ScraperA initialize(). È possibile ?
Voglio solo seguire il principio ASCIUTTO ma il rubino rende difficile per me ???
Spero di no, forse è solo la mia ignoranza. In attesa di una soluzione semplice, Tnx.
Edit:
si scopre che avevo il metodo() in ScraperA, che ignorare l'inizializzazione di default initialize vuota(). Quindi sì, l'esempio funziona, perché non ci sono metodi di inizializzazione vuoti. Scusate per la mia stupidità. Tnx.
Il codice funziona come desiderato. Se hai provato a eseguire esattamente quel codice, probabilmente è perché stai usando una versione obsoleta di ruby. – Adrian
@Adrian: Non penso che ci sia alcuna versione di ruby in cui ciò non funziona. – sepp2k
Perché è stato chiuso come "troppo localizzato"? – 0112