2017-05-04 163 views
-4

我是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工作正常。

+3

這是整個錯誤信息嗎? Ruby通常打印一個長的回溯,指出錯誤的來源,即在'run.rb'中。 – Stefan

+0

查看'run.rb'第76行或'arguments.rb'第279行。如果您需要進一步幫助,請發佈代碼。 – Stefan

+0

@Stefan實際上相同的命令和代碼與Ruby-1.8.7工作正常但錯誤是隨着紅寶石2.4.1 –

回答

1

現在已經修復了,它實際上是解析方法問題,因爲這個API以散列格式接收參數(argv),但期望一個數組。 在此API調用中進行更改後,問題已解決。

相關問題