スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

optparseを使う

#!/usr/bin/ruby

require "optparse"

# OptionParserオブジェクト生成
opt = OptionParser.new

opta, optb, optc = nil, nil, nil
optb_val, optc_val = nil, nil

# オプション-aがあるときはoptaをtrueに
opt.on('-a', 'description a'){
  opta = true
}

# オプション-bがあるときはoptbをtrueに
# 値をoptb_valに格納
opt.on('-b VAL', 'description b'){|v|
  optb = true
  optb_val = v
}

# オプション-cがあるときはoptcをtrueに
# 値があるときはoptc_valに格納
opt.on('-c [VAL]', 'description c'){|v|
  optc= true
  optc_val = v
}

# ↓このタイミングオプション解析
opt.parse!(ARGV)

p opta
p optb
p optc
p optb_val
p optc_val

-bオプションつけるなら値指定は必須。
-cオプションは値指定はあってもなくてもいい。

% ./opt.rb -a
true
nil
nil
nil
nil

% ./opt.rb -a -b
例外(OptionParser::MissingArgument)発生

% ./opt.rb -a -b aiueo
true
true
nil
"aiueo"
nil

% ./opt.rb -a -c
true
nil
true
nil
nil

% ./opt.rb -a -c aiueo
true
nil
true
nil
"aiueo"

% ./opt.rb -a -b aiueo -c kakikukeko
true
true
true
"aiueo"
"kakikukeko"

この記事のトラックバックURL

http://ysmt.blog21.fc2.com/tb.php/214-82f70985

コメント

コメントする

管理者にだけ表示を許可する

Template Designed by DW99

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。