Pipelines

Често се налага да викаме няколко функции, подавайки резултата от едната като аргумент на следващата. С нормалния синтаксис за извикване на функции това е трудно за четене, защото е нужно да се чете кода отвътре навън.

Операторът за конвейери (pipelines) |> в Gleam ни помага в такива ситуации, като ни позволява да пишем кода отгоре надолу.

Операторът |> приема резултата от израза от лявата си страна и го подава като аргумент на функцията от дясната си страна.

Първо се проверява дали стойността отляво може да се използва като първи аргумент на извикването. Например, a |> b(1, 2) би се превърнало в b(a, 1, 2). Ако това е невъзможно, резултата от дясната страна се извиква като функция: b(1, 2)(a).

Обикновено Gleam кодът се пише със "субекта" (subject) на функцията като първи аргумент, за да се улеснят конвейерите. Ако искате да използвате конвейер, подавайки стойност като непърви аргумент, може да се използва улавяне на функция (function capture), за да се вмъкне стойността на желаната позиция.