E’ corretto questo esempio?
L’ho trovato in un manuale.
Sembra che venga usato un metodo all’interno della definizione dello
stesso metodo.
def copy
event = Event.find(params[:id])
@event = Event.copy(event)
render
end
E’ corretto questo esempio?
L’ho trovato in un manuale.
Sembra che venga usato un metodo all’interno della definizione dello
stesso metodo.
def copy
event = Event.find(params[:id])
@event = Event.copy(event)
end
bhe… sicuramente si può fare (pensa ad esempio a tutti i metodi
ricorsivi…
che poi faccia anche una cosa ‘sensata’ questo nin zo…
Sandro
2009/5/2 Mauro [email protected]
Msan M. wrote:
E’ corretto questo esempio?
L’ho trovato in un manuale.
Sembra che venga usato un metodo all’interno della definizione dello
stesso metodo.def copy
event = Event.find(params[:id])
@event = Event.copy(event)render
end
Non è lo stesso metodo.
Il copy che viene definito è un metodo di istanza, mentre Event.copy è
un metodo di classe definito altrove come
def Event.copy
oppure come
def self.copy
(e ci sono altri modi ancora)
Comunque sì, ha senso avere metodi che si richiamano. L’esempio per
eccellenza è il calcolo del fattoriale
def fact(n)
n == 0 ? 1 : n * fact(n - 1)
end
ma pensa anche alla colorazione di un’area: si parte da un pixel e
ricorsivamente si colorano tutti i vicini finché non si arriva ad un
confine. Non è facile trovare una soluzione non ricorsiva che funzioni
con qualsiasi forma dell’area da colorare, ma scritto ricorsivamente
l’algoritmo è molto semplice.
Paolo
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs