Ruby OptionParser pusty przełącznik „-” zachowanie

EDYTOWANE:

Napisałem kod, który używa OptionParser do obsługi wiersza poleceń. Stoję przed dwoma głównymi hitami.

Przekazanie pustych przełączników „-” nie powoduje błędu. Oczywiście niektóre programy uznają to za ważne, ale moje nie powinny.Program wymaga dwóch obowiązkowych przełączników, ale akceptuje jeden przełącznik bez narzekania! na przykładprogram.ruby -f foo -b bar jest prawidłowym wejściem i oba przełączniki są: WYMAGANE. Ale dostarczenie tylko jednego przełącznika przechodzi bez problemu i nie jest to pożądane zachowanie.

W pierwszym przypadku zrobiłem to:

<code>opts.on('-', /\A-\Z/) do
  $stderr.print "Invalid empty switch"
  exit 1
end
</code>

To działa dobrze. Ale czy to jest właściwy sposób?

W drugim przypadku szukałem rozwiązania w bloku OptionParser.new, ale nie mogłem go znaleźć. na przykład

<code>unless options.foo && options.bar
  puts "Error."
  exit 2
end
</code>

Czy to poza blokiem OptionParser.new jest normalnym sposobem?

questionAnswers(2)

yourAnswerToTheQuestion