这是class foo
class Foo
def initialize(&block)
instance_eval(&block) if block
end
def bar(hash)
@bar = hash
end
end
为什么会出现此语法错误
foo = Foo.new do
bar {:param1=>'value1', :param2=>"value2"}
end
这给我的语法错误
SyntaxError: unexpected ',', expecting '}'
bar {:param1=>'value1',:param2=>'value2'}
表示在instance_eval中使用hash的正确方法,如上例所示。我真正需要的是将哈希传递给instance_eval