aboutsummaryrefslogtreecommitdiff
path: root/src/content/chapter5_advanced_features/lesson02_use_sugar/en.html
blob: e28c843b81bc7762a575d145c1c76bb371bb4315 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<p>
  The <code>use</code> expression is syntactic sugar for a regular function call
  and an anonymous function.
</p>

<p>This code:</p>
<pre>
use a, b <- my_function
next(a)
next(b)
</pre>

<p>Expands into this code:</p>
<pre>
my_function(fn(a, b) {
  next(a)
  next(b)
})
</pre>

<p>
  To ensure that your <code>use</code> code works and is as understandable as
  possible, the right-hand-side ideally should be a function call rather than a
  pipeline or other expression, which is typically more difficult to read.
</p>

<p>
  <code>use</code> is an expression like everything else in Gleam, so it can be
  placed within blocks.
</p>