非常基本:"语法错误,意外' =',期待输入结束"

时间:2015-02-10 15:11:13

标签: ruby-on-rails ruby

x = 2

print “This application is running okay if 2 + 2 = #{x + x}”

这是我收到的错误消息

syntax error, unexpected '=', expecting end-of-input
print “This application is running okay if 2 + 2 = #{x + x}”
                                                ^

我似乎无法在这里找到自己的错误。我在OS X 10.10上使用TextEdit运行Ruby 2.0.0来编写代码。感谢帮助

2 个答案:

答案 0 :(得分:5)

代码是正确的。事实上,这是我机器上的输出。

2.1.5 :001 > x = 2
 => 2
2.1.5 :002 > print "This application is running okay if 2 + 2 = #{x + x}"
This application is running okay if 2 + 2 = 4 => nil

可能的解释是使用"卷曲引号"引起的语法错误。代码中的,而不是标准引用"

print “This application is running okay if 2 + 2 = #{x + x}”

这是一个特殊字符,不会被解释为字符串开启,并且可能导致脚本失败。

答案 1 :(得分:5)

问题是你使用了一些不寻常的双引号字符(“而不是"”),因此print语句的参数不会被解释为字符串。您使用的引号可能是unicode U+201CU+201D。这表示您正在文本编辑器上以印刷报价模式(或Unicode模式)编辑代码 - 尝试将其切换为ASCII模式以编辑源文件。

请参阅此Ruby Fiddle - 该语句可以正常使用双引号。如果您取消注释版本,则会收到报告的语法错误。

<强> 修改

根据OP - TextEdit中引号的自动更改由以下内容修正:

  

在TextEdit上,编辑 - 替换 - 取消选中智能引号。 TextEdit应用程序自动更改我的引号。