From 938f49fc7835501192ccc7db7c1ab3174f050b34 Mon Sep 17 00:00:00 2001 From: Louis Pilfold Date: Tue, 20 Feb 2024 12:20:16 +0000 Subject: Let assert --- .../lesson04_let_assert/code.gleam | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/content/chapter5_advanced_features/lesson04_let_assert/code.gleam (limited to 'src/content/chapter5_advanced_features/lesson04_let_assert/code.gleam') diff --git a/src/content/chapter5_advanced_features/lesson04_let_assert/code.gleam b/src/content/chapter5_advanced_features/lesson04_let_assert/code.gleam new file mode 100644 index 0000000..2ba907a --- /dev/null +++ b/src/content/chapter5_advanced_features/lesson04_let_assert/code.gleam @@ -0,0 +1,16 @@ +import gleam/io + +pub fn main() { + let a = unsafely_get_first_element([123]) + io.debug(a) + + let b = unsafely_get_first_element([]) + io.debug(b) +} + +pub fn unsafely_get_first_element(items: List(a)) -> a { + // This will panic if the list is empty. + // A regular `let` would not permit this partial pattern + let assert [first, ..] = items + first +} -- cgit v1.2.3