2016-11-08 60 views
-1

我是新來的Ruby,所以我恐怕這是一個愚蠢的問題,但我只是想不通,爲什麼我得到這個錯誤:紅寶石神祕語法錯誤

init.rb: C:/Users/dmpk/Desktop/warranty-pro/lib/guide.rb:2: syntax error, unexpected end-of-input, expecting keyword_end (SyntaxError) 

這裏是一個樣本有問題的文件

require 'claim' 

class Guide 

    class Config 
    @@actions = ['add', 'list', 'find', 'quit'] 

    def self.actions 
     @@actions 
    end 
    end 

在上面的例子中第一行是第1行,最後一行是10行。 所以說,它期待在第2行「結束」了,我不明白爲什麼。

+3

你錯過了'結束'。 –

回答

0

如果稍後有人遇到這個問題,我解決了這個問題。我所做的只是複製文件中的所有代碼,刪除文件,然後創建一個具有相同名稱的新文件並粘貼所有代碼。之後,它就可以工作了。所以......我真的不知道真正的問題是什麼,但它現在已經修復了!

1

固定的格式和答案就清澈見底

require 'claim' 

class Guide 
    class Config 
     @@actions = ['add', 'list', 'find', 'quit'] 

     def self.actions 
     @@actions 
     end 
    end 

classdef需要有一個匹配的end。你錯過了一個。

+0

嗯,這只是從我有的代碼的乞討中找到的一小段代碼,通過Sublime中的所有內容查看,我可以看到Guide類的結尾,但它像80行下來。我不認爲我應該在問題中發表太多的文字。我應該發佈一切嗎?另外,如果是Guide類缺少結束語,那麼在代碼的底部是不是會顯示更深的錯誤,而不是靠近開頭? – CCramer

+0

是的,通常我會希望行號是這種情況下的最後一行。如果你的代碼真的很長,你可以上傳像https://gist.github.com/或http://pastebin.com/ – Max

+0

像這樣? https://gist.github.com/Cymricz/c406d01571524eecb61cb43274d0f7b6 – CCramer

1

我格式化了你的代碼,看起來你錯過了endGuide類。