# Iterare oggetti

**URL:** <https://www.ruby-forum.com/t/iterare-oggetti/109209>\
**Category:** IT\
**Created:** [July 12, 2007, 12:51pm UTC](https://www.ruby-forum.com/t/iterare-oggetti/109209 "2007-07-12T12:51:25Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![el\_dobre](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/e99b99/32.png) [@el\_dobre](https://www.ruby-forum.com/u/el_dobre)\
**Post date:** [July 12, 2007, 12:51pm UTC](https://www.ruby-forum.com/t/iterare-oggetti/109209/1 "2007-07-12T12:51:25Z")

</div>

salve, creo un form web, ricavo i campi e li metto nell’oggetto  
appropriato in base alla tabella che ho…

per esempio tabella CIAO con campi SETT OTT NOV

il form ha tre text box e leggo i valori immessi…  
questi valori immessi li leggo con qualcosa del tipo:

@ciao = Ciao.new(params[:ciao])

ora, io non vorrei accedere ad ogni campo scrivendo semplicemente  
@ciao.sett (per esempio), ma come faccio a sapere quanti campi sono  
stati immessi correttamente o iterarli uno per volta?  
cioÃ¨ se immetto correttamente nel form SETT e NOV il programma mi deve  
restituire 2, se li immetto tutti e tre bene mi deve dare una variabile  
intera 3…  
io vorrei fare il confronto di ogni campo con il valore ‘’, se Ã¨  
diverso da questo mi incrementa la variabile, ma qual Ã¨ il codice  
corretto?  
Posso invocare il metodo each sull’oggetto @ciao? se sÃ¬, come?

spero di essere stato chiaro, grazie per l’aiuto el dobre…

---

<div class="post-metadata">

**Author:** ![el\_dobre](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/e99b99/32.png) [@el\_dobre](https://www.ruby-forum.com/u/el_dobre)\
**Post date:** [July 12, 2007, 1:26pm UTC](https://www.ruby-forum.com/t/iterare-oggetti/109209/2 "2007-07-12T13:26:58Z")

</div>

s = @ciao.attributes.inject(0) do |sum,att|  
sum += att.empty? ? 1 : 0  
end

La variabile ‘s’ sarÃ la tua somma.

LG
