Voglio usare una for-each e un contatore:Contatore automatico in Ruby per ciascuno?
i=0
for blah in blahs
puts i.to_s + " " + blah
i+=1
end
Esiste un modo migliore per farlo?
Nota: non so se blahs
è un array o un hash, ma hanno a che fare blahs[i]
non renderebbe molto più sexy. Inoltre mi piacerebbe sapere come scrivere i++
in Ruby.
Tecnicamente, la risposta di Squeegy di Matt ed è venuto in prima, ma sto dando risposta migliore per paradoja in modo diffuso in tutto i punti un po 'su SO. Anche la sua risposta ha la nota sulle versioni, che è ancora rilevante (purché la mia Ubuntu 8.04 stia usando Ruby 1.8.6).
dovrebbe aver utilizzato puts "#{i} #{blah}"
che è molto più succinta.
Non v'è alcun operatore di incremento in Ruby. Il n + = 1 che hai scritto è l'equivalente più vicino. Dovrebbe essere lo zucchero sintattico per n + = 1, che è esso stesso abbreviazione di n = n + 1. L'idea di ++ è stata respinta perché nasconde il fatto che stai riassegnando la variabile. http://rubyurl.com/Dsb1 – Chuck
Bello! Grazie Chuck. Sono stato costretto a imparare ++ i e i ++ in Java, quindi ho pensato che sarebbe sempre stato lì. –