undefined局部变量或方法ruby

时间:2015-02-28 16:11:28

标签: ruby

我最近买了一本帮助初学者学习红宝石的书。我们正在构建我们的第一个程序,我无法通过终端运行脚本而不会出现错误。 我试图做的就是打开一个文件。

以下是详细信息: 脚本文件只是:

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)

我试图以各种方式操纵代码,但由于我是初学者,它实际上只是猜测。任何帮助都会很棒。

2 个答案:

答案 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,而不是智能引号。此外,如果您不确定您的编辑器,请尽量不要复制粘贴!