2017-12-18 98 views
2

有沒有辦法做晶體程序所需的參數? 例如編譯的程序需要參數?

./myprog ~/Music -r 

而不是

./myprog -d ~/Music -r 

所以我的計劃,如果沒有[目錄]參數不會運行。現在使用「option_parser」,只能做 - 參數。

回答

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