Pipelines

It's common to want to call a series of functions, passing the result of one to the next. With the regular function call syntax this can be a little difficult to read as you have to read the code from the inside out.

一連の関数を呼び出して、その結果を次の関数に渡すというのはよくあることです。通常の関数呼び出し構文では、コードを内側から外側に読まなければならないので、少し読みにくいかもしれません。

Gleam's pipe operator |> helps with this problem by allowing you to write code top-to-bottom.

Gleam のパイプ演算子 |> は、コードを上から下へ記述できるようにすることで、この問題を解決します。

The pipe operator takes the result of the expression on its left and passes it as an argument to the function on its right.

パイプ演算子は、左項の式の結果を受け取り、右項の関数に引数として渡します。

It will first check to see if the left-hand value could be used as the first argument to the call. For example, a |> b(1, 2) would become b(a, 1, 2). If not, it falls back to calling the result of the right-hand side as a function, e.g., b(1, 2)(a)

まず、左項の値が呼び出しの最初の引数として使えるかどうかをチェックします。例えば、a |> b(1, 2)b(a, 1, 2) となります。そうでない場合、右項の結果を関数として呼び出すようにフォールバックします。すなわち、b(1, 2)(a) ということです。

Gleam code is typically written with the "subject" of the function as the first argument, to make it easier to pipe. If you wish to pipe to a different position then a function capture can be used to insert the argument to the desired position.

Gleam のコードは通常、パイプ処理を簡単にするために、関数の「主語」を第一引数として記述します。異なる位置にパイプしたい場合は、関数キャプチャを使用して、引数を希望の位置に挿入することができます。