ライブラリ
- optparse (1032)
-
rubygems
/ command (12)
クラス
-
Gem
:: Command (12) - OptionParser (708)
-
OptionParser
:: ParseError (120) -
RDoc
:: Options (24)
モジュール
キーワード
- AmbiguousArgument (12)
- AmbiguousOption (12)
- Arguable (12)
- InvalidArgument (12)
- InvalidOption (12)
- MissingArgument (12)
-
NEWS for Ruby 2
. 4 . 0 (9) - NeedlessArgument (12)
- ParseError (12)
- accept (24)
-
add
_ option (12) - args (12)
-
default
_ argv (12) -
default
_ argv= (12) - environment (12)
-
filter
_ backtrace (12) - getopts (60)
- help (12)
- inspect (12)
- load (12)
- new (24)
- on (144)
-
on
_ head (12) -
on
_ tail (12) -
option
_ parser (12) -
option
_ parser= (12) - optparse (12)
-
optparse
/ date (12) -
optparse
/ shellwords (12) -
optparse
/ time (12) -
optparse
/ uri (12) - order (48)
- order! (48)
- parse (24)
- parse! (24)
- permute (24)
- permute! (24)
-
program
_ name (12) -
program
_ name= (12) -
rdoc
/ generator (12) - reason (12)
- reason= (12)
- recover (12)
- reject (24)
- release (12)
- release= (12)
-
ruby 1
. 8 . 2 feature (12) -
ruby 1
. 8 . 5 feature (12) - separator (12)
-
set
_ backtrace (12) -
set
_ option (12) - summarize (24)
-
summary
_ indent (12) -
summary
_ indent= (12) -
summary
_ width (12) -
summary
_ width= (12) -
to
_ a (12) -
to
_ s (24) - ver (12)
- version (12)
- version= (12)
検索結果
先頭5件
-
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
Time.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
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) # =>......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
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)
//}... -
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
Time.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"]...