我有一个小型 ruby 程序,需要
同一目录中的文件。程序在我的 Mac 上运行完美,当我运行测试 ruby 脚本时没有任何要求,它也可以运行。默认情况下,ruby 程序似乎不会在当前目录中查找文件。例如.
目录。在 Windows 中,我需要在哪里更新它,以便 ruby 确实在当前目录中查找需求?
最佳答案
很可能您的 Mac 正在运行 Ruby 1.8 而 Windows 正在运行 Ruby 1.9。从 1.9 开始,默认加载路径不再包括当前目录。一个常见的做法是在你的 require 语句之前将它添加到你的 ruby 文件的顶部
$LOAD_PATH.unshift File.dirname(__FILE__)
require 'my_file.rb'
您也可以使用简写 $:
代替 $LOAD_PATH
:
$:.unshift File.dirname(__FILE__)
另一种替代方法是在命令行中添加加载路径:
ruby -I. my_ruby_file.rb
关于Windows 路径上的 Ruby for requires in dir 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8176107/