From: Kouhei S. <ko...@co...> - 2006-07-12 01:03:52
|
須藤です. 0.15.0からGtk.initがrequire "gtk2"するだけで実行される ようになりましたが,これによって困る場合があります. # リリースされてからでごめんなさい. どういう場合に困るかというと,自分で引数を処理しているア プリケーションで困ります. 今まではこんな風にOptionParserとかで引数を処理してから Gtk.initを呼んでいたやつがあるとします. require "gtk2" opts = OptionParser.new do |opts| opts.on("-x", "test") {} ... end opts.parse!(ARGV) ... Gtk.init 今までだと,opts.parse!(ARGV)で処理されたARGVをGtk.init が使うようになります.0.15.0からは,opts.parse!(ARGV)す る前にGtk.initがARGVを使ってしまって,アプリケーションが 引数を処理する前に,GTK+が引数を処理してしまいます. なので,↑の例で,今までは % ruby test.rb -x とかができたのに,0.15.0からは % ruby test.rb -x ../gtk2.rb:13:in `init': -x は不明なオプションです (RuntimeError) といわれるようになってしまいます. |