可能重复:
红宝石中是否有“管道”等价物?
我正在查看tap
Ruby 中的方法 - 但不幸的是,从传递的块返回的对象没有传递。我使用什么方法来传递对象?
这是我正在尝试(不成功)做的事情:
obj.tap{ |o| first_transform(o) }.tap{ |o| second_transform(o)}
当然,这等价于second_transform(first_transform(o))
。我只是问如何以第一种方式做到这一点。
这样做对于列表来说是微不足道的:
list.map{ |item| first_transform(item) }.map{ |item| second_transform(item)}
为什么对象不那么容易?