class Hiiro::Args

def flag?(flag)

def flag?(flag)
  flags.include?(flag)
end

def flag_value(flag)

def flag_value(flag)
  found_flag = false
  raw_args.each do |arg|
    if found_flag
      return arg
    end
    if arg.match?(/^-\w*#{flag}/)
      found_flag = true
    end
  end
  nil
end

def flags

def flags
  @flags ||= proc {
    raw_args.select { |arg|
      arg.match?(/^-[^-]/)
    }.flat_map { |arg|
      arg.sub(/^-/, '').chars
    }
  }.call
end

def initialize(*raw_args)

def initialize(*raw_args)
  @raw_args = raw_args
end

def values

def values
  raw_args.reject do |arg|
    arg.match?(/^-/)
  end
end