我正在使用嵌入在游戏 Dwarf Fortress 中的 Ruby 解释器(它附带 1.8.x,但我已将 DLL 替换为 1.9.3),并且我正在尝试包含 Roo 库,以便我可以使用电子表格.
puts(RUBY_DESCRIPTION)
def addDir(libdir)
$LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir)
end
addDir('C:\dev\Ruby193\lib\ruby')
addDir('C:\dev\Ruby193\lib\ruby\1.9.1')
addDir('C:\dev\Ruby193\lib\ruby\1.9.1\i386-mingw32')
addDir('C:\dev\Ruby193\lib\ruby\gems\1.9.1\gems\roo-2.1.1\lib')
require 'roo'
filename = "example.ods"
@spreadsheet = Roo::Spreadsheet.open(filename)
puts("Loaded " + filename + " with " + @spreadsheet.sheets.length.to_s + " sheets")
从命令行运行,一切都很好,但在嵌入式解释器中尝试会导致“库版本不兼容”错误。
我显然在这里遗漏了一些关于不同环境的信息 - 谁能告诉我如何在解释环境中成功加载这些库(我认为虽然它们是扩展的,所以它们实际上是 DLL)?