👋
[Feature #20580] Ruby にパイプライン演算子を追加する提案
[Feature #20580] Pipe Operator accepting lambda
- Ruby にいわゆるパイプライン演算子を追加する提案
- 以下のように記述すると左から順に
Proc
を適用していくようなイメージ
add_one = -> a { a + 1 }
add_two = -> a { a + 2 }
# add_two.call(add_one.call(2)) と等価
2 |> add_one |> add_two == 5
- これ系は前提として『メソッドがシュッとオブジェクトとして変換できる』場合じゃないとなかなか成り立たない気がする
- そもそも
Proc
オブジェクト自体を多様することは殆どないので上記のようなコードは遊ぶときぐらいしか利用できないと思う
- そもそも
- コメントでも書かれているんですがメソッドをオブジェクトとして利用する場合は以下のように記述する必要があるのでイマイチなんですよねえ
2 |> &obj.method(:whatever)
- 逆にいうと『メソッドをシュッとオブジェクトに変換できる』構文とかがあれば利用できそうではありそうかなあ
Discussion