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)