2013-03-01 60 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

相关问题