From f92661980deac22b54e79cd44c25caba17910c95 Mon Sep 17 00:00:00 2001 From: Louis Pilfold Date: Thu, 18 Jan 2024 16:44:27 +0000 Subject: Last of the content! --- .../lesson07_pipelines/text.html | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/content/chapter1_functions/lesson07_pipelines/text.html (limited to 'src/content/chapter1_functions/lesson07_pipelines/text.html') diff --git a/src/content/chapter1_functions/lesson07_pipelines/text.html b/src/content/chapter1_functions/lesson07_pipelines/text.html new file mode 100644 index 0000000..783ade9 --- /dev/null +++ b/src/content/chapter1_functions/lesson07_pipelines/text.html @@ -0,0 +1,25 @@ +

+ 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. +

+

+ 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) +

+

+ 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. +

-- cgit v1.2.3