Ruby 3.0.0 リファレンスマニュアル > ライブラリ一覧 > optparseライブラリ > OptionParserクラス > reject

instance method OptionParser#reject

reject(klass) -> ()[permalink][rdoc]

OptionParser#accept で登録したクラスとブロックを自身から削除します。

[PARAM] klass:
自身から削除したいクラスを指定します。


require "optparse"
require "time"

def parse(option_parser)
  option_parser.on("-t", "--time [TIME]", Time) do |time|
    p time.class
  end
  option_parser.parse(ARGV)
end

opts = OptionParser.new
opts.accept(Time) do |s,|
  begin
    Time.parse(s) if s
  rescue
    raise OptionParser::InvalidArgument, s
  end
end

parse(opts) # => Time
opts.reject(Time)
parse(opts) # => unsupported argument type: Time (ArgumentError)