eggman2001 wrote:
> I have a few thousand rows of stock market data - one row for each
> day. I'm using ActiveRecord to perform database operations.
> 
> I'm interested in performing a calculation on each row while
> incorporating the result of the calculation on the previous row, and
> then once the calculation has been performed for all rows, perform a
> new calculation that uses the individual calculations of each row.
> 
> I figure that I'll start with an array of size 3,000. Then I would
> probably want to iterate over it, possibly saving the result of the
> operation of each row to a new array but this area is a little foggy.
> 
> Any suggestions?

Assuming you want to calculate something like percent change for each 
day, you could load the entire result set into an array, and then do 
something like:

changes = @stock_data.each_with_object([]) do |data, array|
 last_value = array.last.value
 change = (data.value - last_value) / last_value * 100 unless 
last_value.zero?
 array << [data.transaction_date, change]
end

-- 
Posted via http://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to