我正在尝试对数组的某个部分进行一些数学运算。然后我想增加更多的数学。但是我不知道如何正确地做到这一点。
下面的代码简单地将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.不要担心。
答案 0 :(得分:1)
您应该使用普通变量而不是常量(math_results而不是MathResults)。