るりまサーチ

最速Rubyリファレンスマニュアル検索!
1173件ヒット [1-100件を表示] (0.106秒)
トップページ > クエリ:t[x] > クエリ:OptionParser[x]

別のキーワード

  1. openssl t61string
  2. asn1 t61string
  3. t61string new
  4. matrix t
  5. fiddle align_size_t

検索結果

<< 1 2 3 ... > >>

OptionParser (44072.0)

コマンドラインのオプションを取り扱うためのクラスです。

...るブロックを
OptionParser
#on メソッドで登録していきます。
つまり、OptionParser を使う場合、基本的には

(1) OptionParser オブジェクト opt を生成する。
(2) オプションを取り扱うブロックを opt に登録する。
(3) opt.parse(ARGV) で...
...うな流れになります。

//emlist[][ruby]{
require "optparse"
ProgramConfig = Hash.new
opts = OptionParser.new
opts.on("-a"){|v| ProgramConfig[:a] = true } # オプション「-a」がコマンドラインで指定されていた場合の動作。
opts.parse!(ARGV)...
...プションサマリを表示してから exit します。

: --version

OptionParser
#ver を表示してから exit します。
OptionParser
#ver が定義されていない場合は、そのようにエラーメッセージを出力して abort します。
オプション「--version」に...

OptionParser#summary_width=(width) (27206.0)

サマリを表示するときの幅を整数で指定します。

...@param width サマリを表示するときの幅を整数で指定します。

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

opts = OptionParser.new do |opts|
opts.on_head("-i", "--init")
opts.on("-u", "--update")
opts.on_tail("-h", "--help")
end

opts.summary_width # => 32
opts.summarize
#...
...=> [" -i, --init\n", " -u, --update\n", " -h, --help\n"]
opts.summary_width = 8 # => 8
opts.summary_width # => 8
opts.summarize
# => [" -i\n", " --init\n", " -u\n", " --update\n", " -h\n", " --help\n"]
//}...

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

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

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

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

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

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

OptionParser
.accept(Time) do |s,|
begin
T
ime.parse(s) if s...
...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) -> () (27152.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
T
ime.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) # =>...
...unsupported argument type: Time (ArgumentError)
//}...

OptionParser#on_tail(*arg, &block) -> self (27142.0)

オプションを取り扱うためのブロックを自身の持つリストの最後に登録します。

...arg OptionParser#on と同様です。

@param block OptionParser#on と同様です。

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

opts = OptionParser.new do |opts|
opts.on_head("-i", "--init")
opts.on("-u", "--update")
opts.on_tail("-h", "--help")
end

puts opts.help

# => Usage: test [option...
...t
# -u, --update
# -h, --help
//}

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

opts = OptionParser.new
opts.on_tail("-h", "--help", "Show this message") do
puts opts
exit
end

opts.on_tail("--version", "Show version") do
puts OptionParser::Version.join('.')
exit
end
//}

@see OptionParser...
...#on, OptionParser#on_head...

絞り込み条件を変える

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

OptionParser.accept と同様ですが、 登録したブロックはレシーバーに限定されます。

...
OptionParser
.accept と同様ですが、
登録したブロックはレシーバーに限定されます。

@param klass クラスオブジェクトを与えます。

@param pat match メソッドを持ったオブジェクト(Regexp オブジェクトなど)を与えます。

//emlist[例][rub...
...y]{
require "optparse"
require "time"

opts = OptionParser.new
opts.accept(Time) do |s,|
begin
T
ime.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)
//}...

OptionParser#reject(klass) -> () (27134.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

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

parse(opts) # => Time
opts.reject(Time)
parse(opts) # => unsupported argument type: Time (Arg...
...umentError)
//}...

OptionParser#permute!(argv = self.default_argv, into: nil) -> [String] (27124.0)

与えられた argv を破壊的にパースします。argv からオプションがすべて取り除かれます。 オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。 argv を返します。

...たい引数を文字列の配列で指定します。

@param into オプションを格納するハッシュを指定します。
指定したハッシュにはオプションの名前をキーとして、OptionParser#onに渡されたブロックの値が格納されます。...
...@raise OptionParser::ParseError パースに失敗した場合、発生します。
実際は OptionParser::ParseError のサブク
ラスになります。

//emlist[opt.rb][ruby]{
require 'optparse'
opt = OptionParser.new

opt.on('-a...
...[VAL]') {|v| p :a }
opt.on('-b ') {|v| p :b }

opt.permute!(ARGV)
p ARGV
//}

$ ruby opt.rb -a foo somefile -b
:a
:b
["somefile"]...

OptionParser#permute(*args, into: nil) -> [String] (27124.0)

与えられた argv をパースします。 オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。 argv からオプションを取り除いたものを返します。

...たい引数を順に文字列として与えます。

@param into オプションを格納するハッシュを指定します。
指定したハッシュにはオプションの名前をキーとして、OptionParser#onに渡されたブロックの値が格納されます。...
...@raise OptionParser::ParseError パースに失敗した場合、発生します。
実際は OptionParser::ParseError のサブク
ラスになります。

//emlist[opt.rb][ruby]{
require 'optparse'
opt = OptionParser.new

opt.on('-a...
...[VAL]') {|v| p :a }
opt.on('-b ') {|v| p :b }

opt.permute!(ARGV)
p ARGV
//}

$ ruby opt.rb -a foo somefile -b
:a
:b
["somefile"]...
<< 1 2 3 ... > >>