重複の可能性:
Ruby OptionParser の空のスイッチ「-」の動作
OptionParser を使用してコマンド ライン入力を適切に処理するコードを作成しました。私は2つの大きなヒットに直面しています。
- 空のスイッチ '-' を渡してもエラーにはなりません。
- このプログラムには 2 つの必須スイッチが必要ですが、1 つのスイッチを問題なく受け入れます。
最初のケースでは、これを行いました:
opts.on('-', '--') do |value|
$stderr.print "Invalid empty switch"
exit 1
end
編集(成功に飛びつきました):空のスイッチの場合だけでなく、スイッチが空でない場合にも機能します。これどうやってするの?
2 番目のケースについては、OptionParser.new ブロック内で解決策を探しましたが、見つかりませんでした。OptionParser.new ブロックの外でそれを行うのが通常の方法ですか?