2009-02-25 47 views
1

我用反斜槓在下一行繼續Ruby語句。

print abc \ 
+ def 

我反斜槓後添加一個空格,因爲我喜歡吹的東西了,果然,我得到了一個錯誤:

意外$不確定,預計$結束

我承擔$ undefined是一個全局變量,意味着編譯器認爲它無法識別的任何東西 - 在本例中是反斜槓後的空格。

爲$結束引用字符「行結束」的全局變量?

這些是全局只是在我的程序全局或者是他們比更多的世界?他們有多全球化?

回答

7

這些都不是全局變量。這只是解析器使用的符號。 $undefined似乎意味着空白空間或無意義的標記。 $end是行或語句的結尾。

+0

很酷。再次感謝。 – 2009-02-25 00:46:26

2

我打賭了$就是這樣的語法/詞法分析器用來象徵令牌的簡寫,而不是一個實際可用的變量。

+0

這聽起來很不錯。 – 2009-02-25 00:40:52

+0

是的,就是這樣。在Ruby中解析錯誤總是引用解析器變量和常量。 – Chuck 2009-02-25 00:42:24

1

$未定義指的是由「\」創建的詞法記號 - 它在語法上不正確的Ruby。

$結束詞法記號的文件的末尾。

- MarkusQ