# RE: problemi con Proc

**URL:** <https://www.ruby-forum.com/t/re-problemi-con-proc/108026>\
**Category:** IT\
**Created:** [June 28, 2007, 3:00pm UTC](https://www.ruby-forum.com/t/re-problemi-con-proc/108026 "2007-06-28T15:00:27Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Giuliano\_U](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/ecd19e/32.png) [@Giuliano\_U](https://www.ruby-forum.com/u/Giuliano_U)\
**Post date:** [June 28, 2007, 3:00pm UTC](https://www.ruby-forum.com/t/re-problemi-con-proc/108026/1 "2007-06-28T15:00:27Z")

</div>

come si vede dal codice, il metodo originale fà lo yield se un blocco  
è passato, il che mi permette di compiere operazioni sulle variabili  
yieldate( terribile questo!!)

Il punto è che il metodo originale è in un Modulo mixato in una classe  
alcune volte però, mi serve che faccia anche qualcosina in più per la classe  
che lo implementa,  
quindi invece che fare override completo del metodo gli passo un blocco  
che fà solo il lavoro in  
più.  
per ora all’interno della classe la gestivo con:

alias metodo\_vecchio metodo  
def metodo  
metodo\_vecchio do|obj|  
#e qui mi aggiungo tutte le mie cosine sull’oggetto obj  
end  
end

ma visto che capita spesso, volevo farmi un metodo di classe che mi  
gestisse il tutto,  
per cui se all’interno della classe davo:

estendi\_metodo :metodo do|obj|  
#questo blocco andrebbe passato al metodo.  
end

spero di avere chiarito un pò di  
più…  
Vai Kia, attiva i neuroni!!!

---

<div class="post-metadata">

**Author:** ![Giuliano\_U](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/ecd19e/32.png) [@Giuliano\_U](https://www.ruby-forum.com/u/Giuliano_U)\
**Post date:** [June 28, 2007, 3:24pm UTC](https://www.ruby-forum.com/t/re-problemi-con-proc/108026/2 "2007-06-28T15:24:29Z")

</div>

On 6/28/07, Giuliano U. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> alcune volte però, mi serve che faccia anche qualcosina in più per la  
> classe che lo implementa,  
> quindi invece che fare override completo del metodo gli passo un blocco  
> che fà solo il lavoro in più.

il problema lo risolviamo ma definiscimi il “fare qualcosa in  
più”  
che input dovrebbe idealmente prendere l’estensione? e l’output che  
dà come  
viene mixato con l’output originale?
