How to parse an argument without a name with Ruby's optparse
I need to parse a command line like script.rb <mandatory filename> [options] with optparse . Sure I can write some custom code to handle the filename, then pass ARGV to optparse, but maybe there's a simpler way to do it? EDIT: there's another hacky way to parse such a command line, and that is pass ['--mandatory-filename'] + ARGV to optparse, then handle the --mandatory-filename option. First parse! with optparse, then scan the ARGV and raise if ARGV is empty. Like so: op.parse! filename = ARGV.pop raise "Need to specify a file to process" unless filename The mandatory filename will not be