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来编写代码。感谢帮助
答案 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+201C和U+201D。这表示您正在文本编辑器上以印刷报价模式(或Unicode模式)编辑代码 - 尝试将其切换为ASCII模式以编辑源文件。
请参阅此Ruby Fiddle - 该语句可以正常使用双引号。如果您取消注释版本,则会收到报告的语法错误。
<强> 修改 强>
根据OP - TextEdit中引号的自动更改由以下内容修正:
在TextEdit上,编辑 - 替换 - 取消选中智能引号。 TextEdit应用程序自动更改我的引号。