In Ruby 1.8.6, ho una matrice di, diciamo, 100.000 id utente, ognuno dei quali è un int. Voglio eseguire un blocco di codice su questi ID utente, ma voglio farlo in blocchi. Ad esempio, voglio elaborarli 100 alla volta. Come posso raggiungere facilmente questo nel modo più semplice possibile?Come dividere un array in Ruby
avrei potuto fare qualcosa di simile a quanto segue, ma probabilmente c'è un modo più semplice:
a = Array.new
userids.each { |userid|
a << userid
if a.length == 100
# Process chunk
a = Array.new
end
}
unless a.empty?
# Process chunk
end
possibile duplicato di [Necessità di dividere gli array a sub array di dimensioni specificate in Ruby] (http://stackoverflow.com/questions/3864139/need-to-split-arrays-to-sub-arrays- di-specificato-size-in-ruby) – Nakilon
@Nakilon: Questa domanda non è più nuova di questa? –
@Andrew Grimm, per decidere quale delle due domande chiudere, non guardo la data, ma la qualità delle risposte. Voglio dire, consiglio a una persona che guarda qui, di andare lì) – Nakilon