コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

パイプライン演算子

出典: フリー百科事典『ウィキペディア(Wikipedia)』

パイプライン演算子(パイプラインえんざんし、英語: 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

リストを平坦化して各項を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

外部リンク

[編集]

脚注

[編集]