パイプライン演算子
表示
パイプライン演算子(パイプラインえんざんし、英語: Pipe Operator)(|>
)は、ある式の結果を別の式に1つ目の引数として渡す演算子である。
主に、関数の引数に他の関数を書く際に、ネストが深くなりコードが読みにくくなるのを防ぐためにある。
例
[編集]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
外部リンク
[編集]- パイプライン演算子 - Elixir School
- パイプライン演算子のはなし - Qiita
- 関数合成とパイプライン処理 - Microsoft