我最近买了一本帮助初学者学习红宝石的书。我们正在构建我们的第一个程序,我无法通过终端运行脚本而不会出现错误。 我试图做的就是打开一个文件。
以下是详细信息: 脚本文件只是:
file.open("text.txt").each { |line| puts line }
此脚本保存为analyzer.rb并保存在名为" ruby"的ruby文件中。
text.txt文件是一个纯文本文件,其中包含oliver twist的第一章,没有什么特别之处。它也保存在ruby文件中。
以下是我在终端中输入的内容,只需运行脚本:
cd ~/ ruby
ruby analyzer.rb
这正是我得到的。
Hunters-MacBook-Pro:ruby huntermaxfield$ ruby analyzer.rb
analyzer.rb:2:in `<main>': undefined local variable or method `“text' for main:Object (NameError)
我试图以各种方式操纵代码,但由于我是初学者,它实际上只是猜测。任何帮助都会很棒。
答案 0 :(得分:1)
在File
&#39; F&#39;应该是资本。这是错误
File.open("text.txt").each { |line| puts line }
同时确保&#34; text.txt&#34;与ruby脚本位于同一目录中,否则提供File.open("absolute/path/to/text.txt")
答案 1 :(得分:0)
我在Peter Cooper的书的第84页(从Ruby开始;从新手到专业)遇到了同样的问题。我绝对建议使用Sublime而不是我最初使用的TextEdit。 这完全是关于在代码中使用REGULAR QUOTES,而不是智能引号。此外,如果您不确定您的编辑器,请尽量不要复制粘贴!