有时在编写 Ruby 时,我发现自己想要一个pipe
方法,类似于tap
但返回调用块的结果self
作为参数,如下所示:
class Object
def pipe(&block)
block.call(self)
end
end
some_operation.pipe { |x| some_other_operation(x) }
..但到目前为止,我还没有设法找出它的名字,如果它存在的话。它存在吗?
如果没有,我知道我可以用猴子补丁对象来添加它,但是,你知道,那很糟糕。除非有一个出色的,保证永远不会冲突(以及描述性和简短)的名称,否则我可以使用它......