accept(klass, pat = /.*/) {|str| ...} -> ()[permalink][rdoc][edit]-
OptionParser.accept と同様ですが、登録したブロックはレシーバーに限定されます。
- [PARAM]
klass: - クラスオブジェクトを与えます。
- [PARAM]
pat: - match メソッドを持ったオブジェクト(Regexp オブジェクトなど)を与えます。
require "optparse" require "time" opts = OptionParser.new opts.accept(Time) do |s,| begin Time.parse(s) if s rescue raise OptionParser::InvalidArgument, s end end opts.on("-t", "--time [TIME]", Time) do |time| p time.class # => Time end opts.parse!(ARGV) - [PARAM]