2009-04-20 3 views
0

저는 완전히 어리석은 상황에 처해 있습니다. 아래의 스 니펫을 사용할 때, 내 명령 행이 "./the_script.rb -s serv"임에도 불구하고 을 사용하고 코드 내의 서비스 변수 값을 확인하면 항상 opt35에 의해 부울 클래스가됩니다. 그래서 내 문자열을 명령 줄에서 가져올 수 없습니다 ...optpase는 true 클래스를 반환하고 cmd line arguments에는 string이 제공됩니다.

아이디어가 있습니까?

opt = OptionParser.new do |opt| 

opt.on('-s','--service','twitter (tw) or identica (id)') do |val| 
    service = val.to_s 
end 

end 

답변

0

블록에 어딘가에 opt.parse! (으)로 전화를 걸고 싶습니다.

1

저는 Ruby 코드가 아닌 Python 프로그래머입니다.하지만이 경우 Ruby docs에서 예제를 탐색하면 부울처럼 작동하는 기본 동작을 말할 수 있습니다. 실제로 더 많은 매개 변수를 지정해야 값을 저장하십시오.

opts.on("-s", "--service [SERVICE]", [:twitter, :identica], "Select a service (Twitter or Identica)" do |service| 
    options.service = service 
end 

options.service에는 지정된 서비스가 있어야합니다. 제 생각에는 ... 이봐, 루비 야. ;-)

+0

+1 루비스트. 이것이 당신이하는 방법입니다. – rampion

관련 문제