読者です 読者をやめる 読者になる 読者になる

紺屋高尾

ぬしの女房はんに、わちき、なりたいんざます。来年三月十五日、年季(ねん)が明けるんざます。そのときは眉毛落として歯に鉄漿(かね)染めて、ぬしの傍に参りんすよって、お内儀(かみ)さんにしてくんなますか?

ruby1.9.2 requireとrequire_relative

ruby

ruby1.9.2から$LOAD_PATHにカレントディレクトリ"."が含まれなくなった。セキュリティ上の理由らしい。今までの様な相対パスを使いたい場合は、require_relativeを使用すれば良い。

$ ruby -e 'p $LOAD_PATH'
["/opt/local/lib/ruby", "/opt/local/lib/ruby/1.8", 
"/opt/local/lib/ruby/site_ruby/1.8/i686-darwin9.0.0",
"/opt/local/lib/ruby/vendor_ruby/1.8/i686-darwin9.0.0",
"/opt/local/lib/ruby/site_ruby/1.8",
"/opt/local/lib/ruby/site_ruby/1.8/i686-darwin10", 
"/opt/local/lib/ruby/site_ruby", "/opt/local/lib/ruby/vendor_ruby/1.8", 
"/opt/local/lib/ruby/vendor_ruby/1.8/i686-darwin10", 
"/opt/local/lib/ruby/vendor_ruby", "/opt/local/lib/ruby/1.8", 
"/opt/local/lib/ruby/1.8/i686-darwin10", "."]

$ ruby1.9 -e 'p $LOAD_PATH'
["/opt/local/lib/ruby", "/opt/local/lib/ruby/1.8", 
"/opt/local/lib/ruby/site_ruby/1.8/i686-darwin9.0.0", 
"/opt/local/lib/ruby/vendor_ruby/1.8/i686-darwin9.0.0", 
"/opt/local/lib/ruby1.9/site_ruby/1.9.1", 
"/opt/local/lib/ruby1.9/site_ruby/1.9.1/x86_64-darwin10", 
"/opt/local/lib/ruby1.9/site_ruby", 
"/opt/local/lib/ruby1.9/vendor_ruby/1.9.1", 
"/opt/local/lib/ruby1.9/vendor_ruby/1.9.1/x86_64-darwin10", 
"/opt/local/lib/ruby1.9/vendor_ruby", "/opt/local/lib/ruby1.9/1.9.1", 
"/opt/local/lib/ruby1.9/1.9.1/x86_64-darwin10"]

このように、最後にカレントディレクトリである"."が無くなっている。

参考
Ruby – 1.9.2でのrequire « ip-community
Ruby 1.9.2p0 で requireとrequire_relativeについて調べてみた - tagomorisのメモ置き場
Japanese user list of the Ruby programming language ()