簡體   English   中英

非常基本:“語法錯誤,意外的'=',期望輸入結束”

[英]Very basic: “syntax error, unexpected '=', expecting end-of-input”

x = 2

print “This application is running okay if 2 + 2 = #{x + x}”

這是我收到的錯誤消息

syntax error, unexpected '=', expecting end-of-input
print “This application is running okay if 2 + 2 = #{x + x}”
                                                ^

我似乎在這里找不到自己的錯誤。 我正在OS X 10.10上運行Ruby 2.0.0,使用TextEdit編寫代碼。 感謝幫助

代碼正確。 實際上,這是我機器上的輸出。

2.1.5 :001 > x = 2
 => 2
2.1.5 :002 > print "This application is running okay if 2 + 2 = #{x + x}"
This application is running okay if 2 + 2 = 4 => nil

一個可能的解釋是由於使用“彎引號”的語法錯誤在你的代碼,而不是標准的報價"

print “This application is running okay if 2 + 2 = #{x + x}”

這是一個特殊字符,不會被解釋為字符串打開器,並且可能導致腳本失敗。

問題在於您使用的是一些不常見的雙引號字符(“而不是”),因此print語句的參數不會被解釋為字符串。您使用的引號可能是unicode U + 201CU + 201D 。這表示您正在文本編輯器上以印刷引號模式(或Unicode模式)編輯代碼-嘗試將其切換為ASCII模式以編輯源文件。

請參閱此Ruby Fiddle-該語句可以正確使用雙引號。 如果您取消注釋版本,則會收到報告的語法錯誤。

編輯

根據OP-TextEdit中引號的自動更改由以下方式解決:

在TextEdit上,編輯-替換-取消選中智能引號。 TextEdit應用程序正在自動更改我的報價。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM