符号可以作为ruby中的正式参数传递

时间:2016-11-16 05:47:08

标签: ruby-on-rails ruby symbols

我试图使用符号甚至实例变量作为形式参数,但ruby给出了错误

  

语法错误,意外的tSYMBEG,期待')'

     

def callMe(:value)

那么rails中的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

1 个答案:

答案 0 :(得分:0)

当您定义函数时,参数不应该是符号,只有在您调用它时。再次使用callMe定义为

def callMe(value)
    p value.class
end

callMe(:test)