2017-05-04 1 views
-4

저는 Ruby를 처음 사용하고 오래 전에 작성된 프로그램을 실행하려고합니다. 루비 2.4.1과 보석 패키지 (test-unit 3.4.3)를 설치하지만, 한 나는 다음과 같은 명령을 실행하려고하면 다음Ruby - ArgumentError : 잘못된 인수 (주어진 3, 예상 된 2)

ruby ./run.rb test_5772.rb config_sprint210_uae.rb 

내가 루비 스크립트 (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

전체 오류 메시지입니까? 루비는 대개 오류의 원인, 즉'run.rb '내를 가리키는 긴 백 트레이스를 인쇄합니다. – Stefan

+0

'run.rb' 76 행이나'arguments.rb' 행 279를보십시오. 도움이 더 필요하면 코드를 게시하십시오. – Stefan

+0

@Stefan 실제로 Ruby-1.8.7에서 동일한 명령과 코드가 제대로 작동합니다. 그러나 ruby-2.4.1에 오류가 있습니다. –

답변

1

이 API는 해시 형식으로 인수 (argv)를 수신하지만 배열을 예상하기 때문에 실제로 해석 방법 문제가 발생합니다. 이 API 호출을 변경하면 문제가 해결되었습니다.

관련 문제