Я пытаюсь получить простую обработку опции в своем рубиновом приложении. Похож OptionParser
делает большую часть того, что я хочу, хотя я не могу выяснить способ корректно обработать неожиданные аргументы.
Если каким-либо неожиданным аргументам предоставляют, я хочу рассматривать его как будто -h
аргумент был передан (покажите использование и выйдите). Я не вижу способа обработать это все же.
Если OptionParser
не может сделать этого, есть ли другая библиотека, которой я мог пользоваться для того, чтобы легко проанализировать параметры командной строки?
Наверное, есть отличный способ сделать это, но я его не знаю. Я сделал это:
opts = OptionParser.new
...
opts.on_tail("-h", "--help",
"Show this message") do
puts opts
exit
end
begin
opts.parse!(argv)
rescue OptionParser::InvalidOption => e
puts e
puts opts
exit(1)
end