0

我正在尝试对数组的一部分进行一些数学运算。然后我想增加更多的数学。但是我不知道如何正确地做到这一点。

下面的代码只是简单地将 3 列 csv 数据放入 1 个数组中。然后对其进行数学运算。

require 'csv'

csv_data = 'data.csv'

Location = []
  CSV.foreach(csv_data,'r') {|row| Location << row[0]}
Data1 = []
  CSV.foreach(csv_data,'r') {|row| Data1 << row[1]}
Data2 = []
  CSV.foreach(csv_data,'r') {|row| Data2 << row[2]}


index = 500
indexmax = 510


while index < indexmax
MathResults = Data1[index].to_f - Data2[index-1].to_f
index += 1
puts MathResults
end

如果我将 MathResults 放在 while 循环之上,我显然会得到 10 次相同的结果。如果我把它放在循环中,我会得到 10 种不同的结果,但会出现很多错误:警告:已经初始化常量 MathResults

我知道这仍然可以使用,但错误必须告诉我我应该以不同的方式做事。

所以我想知道是否有人可以告诉我。

谢谢!

编辑:添加一件事。我意识到我有 3 个数组,只有 2 个在使用中。Location数组是在搜索到正确的位置后,稍后填写索引变量。而不是说只有 500。别担心。

4

1 回答 1

1

您可能应该使用普通变量而不是常量(math_results 而不是 MathResults)。

于 2012-08-19T17:14:58.247 回答