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

Bry*_*cke 1 ruby ruby-on-rails undefined

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

print abc \
+ def
Run Code Online (Sandbox Code Playgroud)

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

意外的$ undefined,期待$ end

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

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

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

Ale*_*yne 7

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