2016-07-22 46 views

回答

0

我認爲最簡單的方法將是對選項解析器調用parse!之前分別解析隱藏的選項。

if ARGV.delete '--secret' 
    ... 
end 

OptionParser.new do |opts| 
    ... 
end.parse! 

雖然這意味着您需要手動處理隱藏的選項解析。另外,您也可以定義爲隱藏選項和救援OptionParser::InvalidOption單獨OptionParser時分析,然後與正常的解析器來。但是這對選項的指定順序很敏感。