2013-03-01 130 views
0

我有一個包含浮點值的數組(time)。我想要減去此數組的元素並將結果存儲在另一個數組中並進一步將其打印出來。我試過如下:從相同數組的另一個元素中減去一個數組的元素

time=Array.new 

time=open("/home/sakshi/Desktop/test/PACKET-WISE_DETAILS/pkt_time.tsv", &:read) 

time.each do |i| 
    puts time[i+1]-time[i] 
end 

,但我得到這個錯誤:

'in `+': can't convert Fixnum into String (TypeError) ' error. 

我也試着重寫了while環上面的代碼,但不工作或者。

+0

在什麼時間?做'時間'。你還有哪個版本的紅寶石? – AJcodez 2013-03-01 13:19:26

+0

時間是我的數組,其中我正在使用來自pkt_time文件的值lal。但它正在採取錯誤的價值觀。我是否以錯誤的方式閱讀文件? – user1914693 2013-03-04 12:36:11

+0

我正在使用紅寶石1.8.7(2010-08-16 patchlevel 302)[i686-linux] – user1914693 2013-03-04 12:36:41

回答

0

這是因爲您要添加的整數值對象即ID,嘗試了這一點

time = Array.new 

time = open("/home/sakshi/Desktop/test/PACKET-WISE_DETAILS/pkt_time.tsv", &:read) 

time.each_with_index do |i,index| 

puts time[index+1]-time[index] if index < time.size #to avoid overflow when reaches the end 

end 
+0

它仍然無法正常工作...它給我以下錯誤: pkt_time.rb:19:undefined method' - '爲 「2」:字符串(NoMethodError)從pkt_time.rb \t:57:在'each_with_index '從pkt_time.rb \t:18:在'每個' \t從pkt_time.rb:18:在'each_with_index」 \t來自pkt_time.rb:18 – user1914693 2013-03-05 08:54:05

+0

它是由於time [index + 1]可能是內容字符串對象的對象。嘗試使用to_f在浮動狀態下轉換它。如果它是有效的數字,也通過打印進行重新檢查。 – 2013-03-06 12:53:17

+0

非常感謝.. !!!!我的問題用to_f解決了。 – user1914693 2013-03-07 07:49:19

相關問題