パイプライン演算子(パイプラインえんざんし、)(|>)は、ある式の結果を別の式に1つ目の引数として渡す演算子である。
主に、関数の引数に他の関数を書く際に、ネストが深くなりコードが読みにくくなるのを防ぐためにある。
Elixir、F#、R言語などにある。
例 Elixirの例である。String.split(String.upcase(String.trim(" Hello, world "))) #=> ["HELLO," "WORLD"]このように、パイプ演算子を使うことによって、よりコードが直感的に読めるようになる" Hello, world " |> String.trim |> String.upcase |> String.split #=> ["HELLO," "WORLD"]
言語別のパイプライン演算子
Elixir 「Hello, world」を表示するプログラムである。IO.puts "Hello, world!"これはパイプライン演算子を使って、次のように記述できる。"Hello, world!" |> IO.puts
R リストを平坦化して各項を2倍する処理は次のように書ける。[1, , 3] |> List.flatten |> Enum.map(&(&1 * 2))
F# F#におけるパイプライン演算子の使用例である。let result = 100 |> function1 |> function2
JavaScript JavaScriptにおけるパイプライン演算子の使用例である。(JavaScriptにおいては、ECMAScript草案のステージ1に当たる段階なので、動作しない可能性があることに留意) let result = 100 |> function1 |> function2
Haskell Haskellにおけるパイプライン演算子の使用例である。Haskellでは&Haddockドキュメントを使用する。 result = 100 & function1 & function2
外部リンク パイプライン演算子 - Elixir School パイプライン演算子のはなし - Qiita 関数合成とパイプライン処理 - Microsoft
脚注