Think of a gondola lift 🚠ride, where you can hop off at any station.
gleam add gond@2
import gleam/int
import gleam/io
import gleam/string
import gond.{
cond as cond, fact as fact, run as run, when as when, yield as yield,
}
pub fn example() {
cond(
branches: [
when(fn() { int.random(3) == 1 }) |> run(fn() { "Heads!" }),
fact(int.random(3) == 2) |> run(fn() { "Tails!" }),
when(fn() { True }) |> yield("This always occurs!"),
fact(False) |> yield("This is never the fact!"),
],
default: fn() { "Lost the coin?" },
)
}
pub fn main() {
example() |> string.inspect |> io.println
}
gleam run --module gond/internal/usage_examples
Further documentation can be found at https://hexdocs.pm/gond.
gleam run # Run the project
gleam test # Run the tests
- Clojure's
cond
macro. - Elixir's
cond
macro.