Masahiro Kitajima
katon****@katon*****
2005年 1月 3日 (月) 01:27:18 JST
かとんぼです。 コアは作り損なっているようなので、取り急ぎ報告です。orz Array#pack 対策の方は、bin\exerb スクリプトの先頭に以下を追加することで まとめて面倒を見る事にしました。 class Array alias :org_pack :pack def pack(template) self.collect {|i| i.nil? ? 0 : i}.org_pack(template) end # def end # class 加えて、三並さんの指摘にならい、lib\ruby\site_ruby\1.8\exerb\win32\ struct\image_section_header.rb の、Exerb::Win32::Struct:: ImageSectionHeader#pack が return する配列の @name を @name.to_s にする修 正を行いました。 これで bin/exerb スクリプトを使って .EXE 生成はできるようになったのです が、[exerb-dev:0449] に書いた手順でビルドした ruby 1.8.2 版コアを使うと、 require が失敗しました。 ----test.rb ---- puts "ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]" require 'fileutils' p FileUtils ----test.rb ---- ・ruby181c.exc を使った場合: C:\tmp>test ruby 1.8.1 (2003-12-25) [i386-mswin32] FileUtils ・[exerb-dev:0449] の手順でビルドした ruby182c.exc を使った場合: C:\tmp>test ruby 1.8.2 (2004-12-25) [i386-mswin32] test.rb:2:in `require': No such file to load -- fileutils (LoadError) from test.rb:2 -- 北島雅博(かとんぼ)