什么是Ruby中的"语法错误,意外的tCONSTANT"错误?

The*_*coy 17 ruby learn-ruby-the-hard-way

我目前正在"艰难学习Ruby"的第9课.

我已经按照指示的方式输入了第6行,但我仍然在执行时遇到错误.

它说:

Syntax error, unexpected tCONSTANT, expecting $end
Run Code Online (Sandbox Code Playgroud)
puts " Here ^ are the days : ", days 
Run Code Online (Sandbox Code Playgroud)

Pau*_*ley 24

您忘记关闭前一行的字符串.这是转载的问题:

paul@paulbookpro ~ ? ruby     
days = "abc
puts "Here are the days"
-:2: syntax error, unexpected tCONSTANT, expecting $end
puts "Here are the days"
          ^
Run Code Online (Sandbox Code Playgroud)

它将单词"Here"之前的双引号视为前一行中字符串的结束引号,然后想知道为什么你使用一个名为Here的常量(以大写字母开头的标记).


sep*_*p2k 5

错误消息意味着ruby解析器遇到一个常量(即以大写字母开头的标识符),它不会指望一个(特别是解析器期望文件在该点结束).

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