1

私は完全に愚かな状況で立ち往生しています。以下のスニペットを使用すると、コマンドラインが「./the_script.rb-s serv」であり、コード内のサービス変数の値を確認しますが、optparseでは常にブールクラスであると見なされます。そのため、コマンドラインから文字列を取得できません...

何か案は ?

opt = OptionParser.new do |opt|

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

end
4

3 に答える 3

2

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

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

その後options.service、指定されたサービスを受ける必要があります。私は思う...ねえ、それはRubyです。;-)

于 2009-04-20T02:32:48.603 に答える
0

opt.parse!どこかのブロックを呼び出したいと思います。

于 2009-04-20T02:26:17.947 に答える