最近、私はこの方法を思いつきました:
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
この方法を使うと他にも便利なところがありますが…
メソッドは非常に簡単なので、同じ目的で既に構築されているメソッドがどこかにあるはずです。
このルビーメソッドの類似物はありますか?