2011年8月23日

[ruby-list:48334] autoload がうまく働かない

お久しぶりです。須賀です。

環境変数 RUBYLIB でライブラリロードパスを指定した場合に、
autoload がうまく働かないのですが、何か設定を間違って
いますでしょうか。

# 1.8.7 では問題ないようです。

== autoload_test.rb ===
autoload :A, 'autoload'
A.new

== autoload.rb ===
class A # <- ここで NameError
def initialize
p "I'm A."
end
end

C:\Projects\Schema>ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [i386-mswin32]

autoload.rb をカレントディレクトリ(C:\Projects\Schema)に置いて、

C:\Projects\Schema>set rubylib
RUBYLIB=C:\Ruby192\lib;C:\Projects\Schema

C:\Projects\Schema>ruby -I. autoload_test.rb
"I'm A."

C:\Projects\Schema>ruby autoload_test.rb
C:/Projects/Schema/autoload.rb:1:in `<top (required)>': uninitialized constant A
(NameError)
from autoload_test.rb:2:in `<main>'

autoload.rb をC:\Ruby192\lib\ruby\1.9.1に置いて、

C:\Projects\Schema>set rubylib
環境変数 rubylib が定義されていません

C:\Projects\Schema>ruby autoload_test.rb
"I'm A."


投稿者 xml-rpc : 2011年8月23日 19:56
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/105918
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。