Ruby - ArgumentError:错误的参数数量(给定3,预期2)
问题描述:
我是Ruby新手,正试图运行一个很久以前写的程序。我已经安装了Ruby 2.4.1和gem包(test-unit 3.4.3
),但是当我尝试运行以下命令:Ruby - ArgumentError:错误的参数数量(给定3,预期2)
ruby ./run.rb test_5772.rb config_sprint210_uae.rb
在这里,我传递两个参数掌握Ruby脚本(run.rb)。但我得到一个错误:
Uncaught exception -- ArgumentError: wrong number of arguments (given 3, expected 2)
from /usr/lib/ruby/2.4.0/optparse.rb:1631:in `permute!'
from /usr/lib/ruby/2.4.0/optparse.rb:1652:in `parse!'
from /home/sadmin/SSN_FWQA/test-framework/lib/testrunner/arguments.rb:279:in `parse'
from ./run.rb:76:in `<main>'
相同的代码与Ruby 1.8.7工作正常。
答
现在已经修复了,它实际上是解析方法问题,因为这个API以散列格式接收参数(argv),但期望一个数组。 在此API调用中进行更改后,问题已解决。
这是整个错误信息吗? Ruby通常打印一个长的回溯,指出错误的来源,即在'run.rb'中。 – Stefan
查看'run.rb'第76行或'arguments.rb'第279行。如果您需要进一步帮助,请发布代码。 – Stefan
@Stefan实际上相同的命令和代码与Ruby-1.8.7工作正常但错误是随着红宝石2.4.1 –