如何在instance_eval ruby​​中使用hash?

这是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中的方法