最近我想出了这个方法:
module Enumerable
def transform
yield self
end
end
方法的目的类似于tap
方法,但具有修改对象的能力。
例如,使用这种方法,我可以更改链式数组中的顺序:
array.do_something.transform{ |a| [a[3],a[0],a[1],a[2]] }.do_something_else
而不是这样做:
a0,a1,a2,a3 = array.do_something
result = [a3, a0, a1, a2].do_something_else
使用此方法时还有其他便利,但是...
该方法非常简单,所以我想某处应该是具有相同目的的已构建方法。
这种红宝石方法有类似物吗?