# File lib/slop.rb, line 78
    def initialize(slop, short, long, description, argument, options, &blk)
      @slop = slop

      self.short_flag = short
      self.long_flag = long
      self.description = description

      @argument = argument
      @options = options

      self.tail = @options[:tail]
      self.match = @options[:match]
      self.help = @options.fetch(:help, true)
      self.required = @options[:required]

      @delimiter = @options.fetch(:delimiter, ',')
      @limit = @options.fetch(:limit, 0)

      @argument_type = @options[:as]
      @argument_value = nil

      self.forced = false
      self.count = 0

      @callback = block_given? ? blk : @options[:callback]

      if long_flag && long_flag.size > @slop.longest_flag
        @slop.longest_flag = long_flag.size
        @slop.longest_flag += help.size if help.respond_to?(:to_str)
      end
    end