blob: e7b435b25328a9d18d2e6f5caffda50016903a13 (
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
31
32
33
34
35
36
37
38
|
import gleam/io
import gleam/result
pub fn main() {
io.debug(without_use())
io.debug(with_use())
}
pub fn without_use() {
result.try(get_username(), fn(username) {
result.try(get_password(), fn(password) {
result.map(log_in(username, password), fn(greeting) {
greeting <> ", " <> username
})
})
})
}
pub fn with_use() {
use username <- result.try(get_username())
use password <- result.try(get_password())
use greeting <- result.map(log_in(username, password))
greeting <> ", " <> username
}
// Here are some pretend functions for this example:
fn get_username() {
Ok("alice")
}
fn get_password() {
Ok("hunter2")
}
fn log_in(_username: String, _password: String) {
Ok("Welcome")
}
|