Ruby Rufus调度程序语法错误

Ruby Rufus调度程序语法错误,ruby,oci8,Ruby,Oci8,原始代码: 需要“oci8” SCHEDULER.every'10s':第一个任务=>0个任务| 开始 conn=OCI8.新的“应用程序”、“应用程序”; mylist=Hash.new conn.exece从每个人中选择全名、计数* 其中rownume 放电子邮件 终止 终止 运行ruby oratest1.rb会出现以下错误: oratest1.rb:11: syntax error mylist[r[0]] = { label: r[0], value: r[1].to_i.

原始代码:

需要“oci8” SCHEDULER.every'10s':第一个任务=>0个任务| 开始 conn=OCI8.新的“应用程序”、“应用程序”; mylist=Hash.new conn.exece从每个人中选择全名、计数* 其中rownum<6按名字分组do | r| mylist[r[0]={label:r[0],value:r[1]。to_i.to_s} 终止 发送事件'emp-list',{items:mylist.values} 控制室注销 救援异常=>e 放电子邮件 终止 终止 运行ruby oratest1.rb会出现以下错误:

oratest1.rb:11: syntax error
      mylist[r[0]] = { label: r[0], value: r[1].to_i.to_s }
                             ^
oratest1.rb:11: syntax error
      mylist[r[0]] = { label: r[0], value: r[1].to_i.to_s }
                                          ^
oratest1.rb:11: syntax error
oratest1.rb:13: syntax error
    send_event('emp-list', { items: mylist.values })
                                   ^
oratest1.rb:13: syntax error
    send_event('emp-list', { items: mylist.values })
                                                   ^
oratest1.rb:17: syntax error
  rescue Exception => e
        ^
oratest1.rb:21: syntax error

您可能正在使用ruby 1.8。此哈希语法包含在1.9版以后的版本中


要确保这一点,请运行ruby-v并检查输出。

如果使用ruby 1.9之前的版本,则必须使用以下哈希语法:

mylist[r[0]] = { :label => r[0], :value => r[1].to_i.to_s }

您使用的语法在ruby 1.9及更高版本中有效

您使用的是什么ruby版本?