2016-11-16 64 views
-1

我試圖使用的符號和甚至實例變量作爲正式參數以紅寶石正式的參數傳遞,但紅寶石給出錯誤符號可以爲

語法錯誤,意想不到的tSYMBEG,預計「)」

高清呼我(:值)

它是如何在的form_for管理軌道使用符號和實例變量作爲第一個參數

<% form_for(@user) do |f| %> ... <% end %> 

OR

<% form_for(:user) do |f| %> ... <% end %> 

下面是我試圖執行代碼。

class Demo 

attr_accessor :name, :surname 

def initialize(name,surname) 
    @name = name 
    @surname = surname 

end 

def printThis 
    puts name 
    puts surname 

    callMe(name) 

end 

    def callMe(:value) 
     puts :value 
    end 

end 

d = Demo.new('abc','pqr') 

d.printThis 

回答

0

當您定義函數時,只有在您調用函數時,該參數不應該是符號。與callMe再試一次像

def callMe(value) 
    p value.class 
end 

callMe(:test) 
+0

這樣定義,即使我們通過:測試爲參數,將指定「測試」作爲一種價值,而不是價值:測試符號指向,對不對? – Akshay

+0

我相信它應該仍然是由函數內的符號。試試這個更新的代碼。 – atsui

+0

當它在外部寫入時,它會打印符號,但是當它在類中時會給出錯誤 – Akshay

相關問題