2
私はOptionParserを使用して引数の値を取得しようとしています。、OptionParserは入力値の代わりにブール値を返します
require 'optparse'
options ={}
opts = OptionParser.new do |opts|
opts.on('-v') { |version| options[:version] = version }
opts.on('-g') { |branch| options[:branch] = branch }
opts.on('-f') { |full| options[:full] = full }
opts.on('-h') { RDoc::usage }
end.parse!
# mandatory options
if (options[:version] == nil) or (options[:branch] == nil) or (options[:full]== nil) then
puts options[:branch]
puts options[:version]
puts options[:full]
RDoc::usage('usage')
end
puts options[:branch]
---> TRUE
任意のアイデア:代わりに、値の は、私のコードはブール値を返していますか?あなたは、あなたがそれを求めるために必要な値をキャプチャしたい場合は
もちろん、「s」という用語は、意味のあるものに置き換える必要があります。 '-g'は 'branch'です。これらのオプション指定を使用してヘルプテキストが作成されることに注意してください。 –
また、これとは別に、 'OpenStruct'はこれらのオプションを格納するのに最適です。明示的にハッシュキーを参照する必要はなく、あらかじめ属性名を指定する必要はありません( 'Struct'で必要とされるように)。 –
@KeithBennett --version = versionと同じように' -v = s'あなたが好きならば、OpenStructはきれいにしておくことができますが、普通のハッシュにはまったく問題がありません。 – tadman