我有一个ruby对象,比如说... myobject和一个哈希值,myhash值为{op1:'某些',op2:' something2' }。
ruby中是否有一种方法可以让我这么做,
myobject.the_method(myhash)
这样就好像我一样,
myobject.op1 'something'
myobject.op2 'something2'
这可以使用myhash.each和myobject.send完成,但是有一种方法可以做到这一点吗?可以接受Active Support解决方案。
答案 0 :(得分:3)
Active Support中没有一种方法可以执行此操作。我建议each
和send
:
hash.each do |method, arg|
obj.public_send(method, arg)
end