Spesso ho bisogno di fare alcune operazioni in un ciclo e alcune altre operazioni tra le iterazioni. Un semplice esempio potrebbe essere la raccolta di parole da un array in una stringa, digitate all'indietro e separate da virgole. C'è un idioma o supporto linguistico per questo in qualsiasi lingua? (Per ora sono principalmente interessato a Ruby.)
Di solito faccio qualcosa di simile
a = ['foo', 'bar', 'baz']
s = ''
n = a.size - 1
i = 0
loop do
s << a[i].reverse
break if i == n
s << ', '
i += 1
end
Ma non conosco alcun modo per salvare questa mezza iterazione se si utilizza un iteratore rubino:
s = ''
['foo', 'bar', 'baz'].each do |w|
s << w.reverse
# ???
end