2017-12-18 12 views
2

크리스탈 프로그램에 필요한 인수를 수행 할 방법이 있습니까? 더 [디렉토리] 인수 존재하지 않는 경우는 대신 컴파일 된 프로그램의 필수 인수는 무엇입니까?

./myprog -d ~/Music -r 

의 예를

를 들어
./myprog ~/Music -r 

그래서 내 프로그램 실 거예요 실행합니다. 지금은 "option_parser"를 사용하고 -arguments 만 할 수 있습니다.

답변

3

option_parser를 사용하여 필수 인수를 만들 수있는 방법이 없습니다,하지만 당신은 인수를 구문 분석하고 인수를가 예상 전달되지가있는 경우 오류 또는 종료를 던질 수 :

require "option_parser" 

directory = nil 

parser = OptionParser.new 
parser.on("-d DIR", "Directory [required]") do |d| 
    directory = d 
end 
parser.parse ARGV 

if directory.nil? 
    # directory argument was not set 
    # print help and exit 
    puts parser 
    exit 1 
else 
    # ... 
end 
+0

좋아, 그럼 내가 ARGV를 사용합니다 – LavX64