るりまサーチ

最速Rubyリファレンスマニュアル検索!
22件ヒット [1-22件を表示] (0.034秒)
トップページ > クエリ:IO[x] > 種類:特異メソッド[x] > クエリ:accept[x] > クラス:OptionParser[x]

別のキーワード

  1. io popen
  2. io pipe
  3. io each
  4. io each_line
  5. io readlines

ライブラリ

検索結果

OptionParser.accept(klass, pat = /.*/) {|str| ...} -> () (21115.0)

オプションの引数を文字列から Ruby のオブジェクトに変換するための ブロックを登録します。すべての OptionParser インスタンスに共通です。

...クを登録します。すべての OptionParser インスタンスに共通です。

ブロックには、文字列として与えられるオプションの引数から klass のインスタンスを生成して返すものを指定します。

OptionParser
#on で klass を指定した場合、...
...られた引数は、この accept で登録したブロックで
klass のインスタンスに変換されてから、OptionParser#on メソッドで登録したブロックに渡されます。

//emlist[][ruby]{
require "optparse"
require "time"

OptionParser
.accept(Time) do |s,|
begin
Tim...
...aise OptionParser::InvalidArgument, s
end
end

opts = OptionParser.new

opts.on("-t", "--time [TIME]", Time) do |time|
p time.class #=> Time
end

opts.parse!(ARGV)
//}

いくつかのクラスに対しては変換用のブロックがデフォルトで登録されて
います。OptionParser#on...

OptionParser.reject(klass) -> () (3024.0)

OptionParser.accept メソッドで登録したブロックを削除します。

...
OptionParser
.accept メソッドで登録したブロックを削除します。

@param klass 削除したいクラスオブジェクトを指定します。

//emlist[例][ruby]{
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

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

opts1 = OptionParser.new
parse(opts1) # => Time
OptionParser
.reject(Time)
opts2 = OptionParser.new
parse(opts2) # => un...