2009-04-20 7 views
0

私はまったくばかな状況に陥っています。私のコマンドラインが "./the_script.rb -s serv"であるにもかかわらず のスニペットを使用し、コード内のサービス変数の値を にチェックすると、常に がoptparseによってブール値クラスになると見なされます。だから私は コマンドラインから私の文字列を取得することはできません...optpaseは真のクラスを返しますが、文字列はcmdの行引数で提供されます

アイデア?

opt = OptionParser.new do |opt| 

opt.on('-s','--service','twitter (tw) or identica (id)') do |val| 
    service = val.to_s 
end 

end 

答えて

0

私はブロックのどこかでopt.parse!に電話したいと思うと思います。

1

私はPythonプログラマーでRubyのプログラマーではありませんが、Ruby docsの例を参照すると、デフォルトの動作がブール値として機能するようになります。実際には多くのパラメータを指定する必要があります値を保存する

opts.on("-s", "--service [SERVICE]", [:twitter, :identica], "Select a service (Twitter or Identica)" do |service| 
    options.service = service 
end 

options.serviceは、指定されたサービスを持つ必要があります。私は思う...ねえ、ルビーです。 ;-)

+0

+1ルビーからです。これがあなたのやり方です。 – rampion

関連する問題