我正在使用ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]
我正在尝试测试脚本。以下内容无法按预期工作
CSV.foreach(tscm_hosts_file, headers: tscm_hosts_file_col_headers) do |row|
catch :bad_data do
tscm_hosts_file_col_headers.each do |header|
throw :bad_data if row[header].nil?
end
.
.....
收到的错误是
[root@fmsprdchef001 ~]# ./generate_autoreg_output.rb
./generate_autoreg_output.rb:75: syntax error, unexpected ':', expecting ')'
...each(tscm_hosts_file, headers: tscm_hosts_file_col_headers) ...
我认为这是因为我使用的ruby版本。有人可以告诉哪个RUby版本支持这种语法吗?
答案 0 :(得分:2)
从
移动CSV.foreach(tscm_hosts_file, headers: tscm_hosts_file_col_headers)
到
CSV.foreach(tscm_hosts_file, :headers => tscm_hosts_file_col_headers)
Ruby 1.9中引入了符号的新哈希语法