ruby意外的关键字else错误
我有一个ruby程序来解析CSV文件。我在某个地方漏掉了一个结局,我想不出来ruby意外的关键字else错误,ruby,Ruby,我有一个ruby程序来解析CSV文件。我在某个地方漏掉了一个结局,我想不出来 require 'csv' prevrow=nil newarray=Array.new CSV.foreach("\\\\192.168.0.1\\fe18cb0618cabd41\\ninjatrader\\uniqueside.csv", col_sep: ',') do |row| if(prevrow==nil) # do nothing newarray<<row
require 'csv'
prevrow=nil
newarray=Array.new
CSV.foreach("\\\\192.168.0.1\\fe18cb0618cabd41\\ninjatrader\\uniqueside.csv", col_sep: ',') do |row|
if(prevrow==nil)
# do nothing
newarray<<row
prevrow=row
elsif (prevrow!=nil and row[0]!=prevrow[0] )
# do something
newarray<<row
prevrow=row
@@count=1
elsif(prevrow!=nil and row[0]=prevrow[0] and @@count<4)
puts "new date"
newarray<<row
prevrow=row
@@count++
end
end
需要“csv”
prevrow=nil
newarray=Array.new
CSV.foreach(\\\\192.168.0.1\\fe18cb0618cabd41\\ninjatrader\\uniqueside.CSV),col\u sep:',')行|
if(prevrow==nil)
#无所事事
newarray@count++
无效。最后一个“加号”需要另一个参数,并认为它位于下一行,因此该行最终被解释为
`@count + +end`
因此,您有一个无效语句,并且您丢失了一个end
将有问题的行更改为
@count += 1
你没有在第一个'elsif'中结束'if',我修复了代码,但是我仍然得到了错误删除SameDirectionTop4.rb:25:语法错误,意外的关键字\u endit是自动增量导致错误消息在代码布局方面有一些相当严重的无政府状态。请,尤其是在发布问题时,把事情安排得井然有序。使用一致的缩进样式。Ruby传统是每个块中有两个空格。一致的缩进可以帮助您直观地发现潜在的语法错误。注意:最后一个elsif
具有以下内容:row[0]=prevrow[0]
。您使用的是=
,而不是=