Ruby中$ undefined和$ end引用了什么?

时间:2009-02-25 00:36:50

标签: ruby-on-rails ruby undefined

我使用反斜杠继续下一行的Ruby语句。

print abc \
+ def

我在反斜杠之后添加了一个空格,因为我喜欢把事情搞砸,而且,当然,我收到了一个错误:

意外$ undefined,期待$ end

我假设$ undefined是一个全局变量,意味着编译器看到它无法识别的任何内容 - 在这种情况下是反斜杠后面的空格。

$ end是一个引用“行尾”字符的全局变量吗?

这些全局变量在我的程序中是全局的还是更全局?他们的全球性如何?

3 个答案:

答案 0 :(得分:7)

这些不是全局变量。这只是解析器使用的符号。 $undefined似乎意味着没有任何意义的空白或标记。 $end是一行或一句话的结尾。

答案 1 :(得分:2)

我敢打赌,$只是解析器/词法分析器用来表示令牌的简写,而不是实际可用的变量。

答案 2 :(得分:1)

$ undefined指的是由“\”创建的词法分析器令牌 - 它在语法上不是有效的ruby。

$ end lexer token for the file of。

- MarkusQ