なんだか挙動がわからないruby-1.9
こんなコードを動かしてみる
require 'rubygems' def rubygems_version Gem::RubyGemsVersion if defined? Gem::RubyGemsVersion end unless rubygems_version >= '0.9.4' puts 'OK' end
1.8と1.9でそれぞれ実行
$ ruby jikken.rb OK $ ruby19 jikken.rb jikken.rb:6:in `': undefined method `>=' for nil:NilClass (NoMethodError)
あれれ?なんで1.9ではエラーなの?
ちょっとコードを改造。
require 'rubygems' def rubygems_version Gem::RubyGemsVersion if defined? Gem::RubyGemsVersion end Gem::RubyGemsVersion unless rubygems_version >= '0.9.4' puts 'OK' end
結果は
$ ruby19 jikken.rb
何も表示されず。しっかし、最初と挙動がまた違うのはよくわからん。
うーん。なんだろ。