2011-09-06 83 views
13

我目前正在“了解Ruby”的第9课。什么是Ruby中的“语法错误,意外的tCONSTANT”错误?

我已经按照指示的方式输入了行号6,但仍然在执行时出现错误。

它说:

Syntax error, unexpected tCONSTANT, expecting $end 
puts " Here^are the days : ", days 
+0

这可能发生在IRB(交互式ruby)中,即使我已经按Ctrl-C几次。我发现我只是退出IRB,如果我在IRB中打这个。 –

回答

20

您忘记关闭前一行的字符串。下面是转载的问题:

[email protected] ~ ⸩ ruby  
days = "abc 
puts "Here are the days" 
-:2: syntax error, unexpected tCONSTANT, expecting $end 
puts "Here are the days" 
     ^

它处理双引号的字“这里”作为前行字符串的结束引号之前,然后不知道为什么你使用一个叫做这里常数(令牌以大写字母开头)。

+1

太棒了,谢谢@paul –

+0

谢谢,你救了我! –

5

错误消息意味着ruby解析器遇到一个常数(即开始以大写字母标识符),在那里,没想到一个(特别是解析器预计该文件在该点结束)。

由于您显示的代码甚至不包含常量,因此问题很可能是由代码的另一部分引起的。