パイプライン演算子(パイプラインえんざんし、英語: Pipe Operator)(|>)は、ある式の結果を別の式に1つ目の引数として渡す演算子である。

主に、関数の引数に他の関数を書くことにネストが深くなり、コードが読みにくくなるのを防ぐためにある。

ElixirF#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, [2], 3] |> List.flatten |> Enum.map(&(&1 * 2))

F# 編集

F#におけるパイプライン演算子の使用例である。

let result = 100 |> function1 |> function2

JavaScript 編集

JavaScriptにおけるパイプライン演算子の使用例である。(JavaScriptにおいては、ECMAScript草案のステージ1に当たる段階なので、動作しない可能性があることに留意[1])

let result = 100 |> function1 |> function2

Haskell 編集

Haskellにおけるパイプライン演算子の使用例である。Haskellでは&[2]を使用する。

result = 100 & function1 & function2

外部リンク 編集

脚注 編集