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