2011-09-06 85 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解析器遇到一個常數(即開始以大寫字母標識符),在那裏,沒想到一個(特別是解析器預計該文件在該點結束)。

由於您顯示的代碼甚至不包含常量,因此問題很可能是由代碼的另一部分引起的。