我使用反斜杠继续下一行的Ruby语句。
print abc \
+ def
我在反斜杠之后添加了一个空格,因为我喜欢把事情搞砸,而且,当然,我收到了一个错误:
意外$ undefined,期待$ end
我假设$ undefined是一个全局变量,意味着编译器看到它无法识别的任何内容 - 在这种情况下是反斜杠后面的空格。
$ end是一个引用“行尾”字符的全局变量吗?
这些全局变量在我的程序中是全局的还是更全局?他们的全球性如何?
答案 0 :(得分:7)
这些不是全局变量。这只是解析器使用的符号。 $undefined
似乎意味着没有任何意义的空白或标记。 $end
是一行或一句话的结尾。
答案 1 :(得分:2)
我敢打赌,$只是解析器/词法分析器用来表示令牌的简写,而不是实际可用的变量。
答案 2 :(得分:1)
$ undefined指的是由“\”创建的词法分析器令牌 - 它在语法上不是有效的ruby。
$ end lexer token for the file of。
- MarkusQ