我在我的 Win 7 机器上安装了 Ruby 1.9.2。创建了一个简单的analyzer.rb
文件。它有这一行:
File.open("text.txt").each {|line| puts line}
当我运行代码时,它给我这个错误:
analyzer.rb:1:in `initialize': No such file or directory - text.txt (Errno::ENOENT)
from analyzer.rb:1:in `open'
from analyzer.rb:1:in `<main>'
Exit code: 1
我不明白。有一个text.txt
文件与该文件位于同一目录中analyzer.rb
文件。我还尝试提供文件的绝对路径,C:\Ruby192\text.txt
,但没有骰子。我缺少什么?
首先弄清楚你的当前工作目录用于您的运行脚本。
在开头添加这一行:
puts Dir.pwd
.
这将告诉您 ruby 正在哪个当前工作目录中运行您的脚本。您很可能会发现它不在您想象的位置。然后确保为 Windows 正确指定路径名。请参阅此处的文档,了解如何正确设置 Windows 路径名的格式:
http://www.ruby-doc.org/core/classes/IO.html http://www.ruby-doc.org/core/classes/IO.html
然后要么使用Dir.chdir
将工作目录更改为 text.txt 所在的位置,或根据上面 IO 文档中的说明指定文件的绝对路径名。应该这样做...
EDIT
如果您将文本文件放在脚本文件中,添加第三种解决方案可能是最方便的一种:
Dir.chdir(File.dirname(__FILE__))
这将自动将当前工作目录更改为与.rb
正在运行脚本的文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)