0
的操作我有一堆數組的數組來完成這樣的操作:紅寶石:封裝與可枚舉的方法注入
obj = MyObject.new
[[
#data
],
[
#data
],
# ...
].inject(obj) do |memo, i|
memo.foo_method AnotherObject.new(i[0],i[1])
end
永遠不會改變的事情是一個注入的操作本身。如果它可以用適當的方式隱藏在輔助方法中呢?如下所示:
def my_helper_method(obj,arr)
# obj is MyObject's instance,
# arr - an array from the external array
inject(obj) do |memo, i|
memo.foo_method AnotherObject.new(i[0],i[1])
end
end
[[
#data
],
[
#data
],
# ...
].each(&:my_helper_method)
如何將兩個傳遞給輔助方法:MyObject的實例和一個項目?當一個方法轉向一個塊時,有沒有可能做到這一點?
最後瓦里安t正是我尋找的解決方案。謝謝! – DreamWalker