def on(*args,&block)
      @accept_options = true
      args = add_default_value_to_docstring(*args)
      if block
        @option_parser.on(*args,&block)
      else
        opt_names = option_names(*args)
        @option_parser.on(*args) do |value|
          opt_names.each do |name|
            @options[name] = value
            @options[name.to_s] = value
          end
        end
      end
      set_banner
    end
def on(*args,&block)
      @accept_options = true
      args = add_default_value_to_docstring(*args)
      if block
        @option_parser.on(*args,&block)
      else
        opt_names = option_names(*args)
        @option_parser.on(*args) do |value|
          opt_names.each do |name|
            @options[name] = value
            @options[name.to_s] = value
          end
        end
      end
      set_banner
    end
If invoked as with OptionParser, behaves the exact same way.
 If invoked without a block, however, the options hash given
 to the constructor will be used to store
 the parsed command-line value.  See #opts in the Main module
 for how that works.