Michael Campbell wrote: > On 6/25/05, Joel VanderWerf <vjoel / path.berkeley.edu> wrote: > >>nobu.nokada / softhome.net wrote: >> >>>Hi, >>> >>>At Sat, 25 Jun 2005 14:15:43 +0900, >>>Joel VanderWerf wrote in [ruby-talk:146437]: >>> >>> >>>>OptionParser.new do |prsr| >>>> prsr.on("-a", >>>> "please use the", >>>> "-b option instead") >>>># ^ >>>># insert a space above the caret to prevent >>>># detection of -b as an option. >>>># >>> >>> >>>OptionParser treats a string starts with "-" as an option name. >>> >> >> >>Is that the right behavior though? Maybe after the first non-option >>string (in this case "please use the"), the parser should assume that >>the rest of the strings are also not options. > > > > Isn't the POSIX behavior to use "--" as a option/non-option barrier? > > I.e.: > > ls -l # lists all files in long format > ls -- -l # list a file named "-l" On the command line, yes. But I'm asking about arguments to the OptionParser#on method. Are you suggesting to use "--" as a barrier string in that context too? It seems to me the best solution is to assume that once #on has encountered a non-option (i.e., descriptive text) in its list of arguments then all subsequent arguments should be treated as descriptive text. That would ensure that, if your text refers to option names, then reformatting your text will not cause them to be treated as options. Would any useful behavior be lost that way?