diff options
author | Doug Tykocki <tykockda@gmail.com> | 2023-12-28 09:54:40 -0500 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2024-01-04 12:29:15 +0000 |
commit | c153d1ab16d19724e47cc5c160b60b45cda195d2 (patch) | |
tree | ad5b72918e9c09eefab8ed1afb1969a8099fab7c /src | |
parent | f88b8321a1b323b03951fc1c9575d8269cd910b6 (diff) | |
download | gleam_stdlib-c153d1ab16d19724e47cc5c160b60b45cda195d2.tar.gz gleam_stdlib-c153d1ab16d19724e47cc5c160b60b45cda195d2.zip |
Add set difference function
Diffstat (limited to 'src')
-rw-r--r-- | src/gleam/set.gleam | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/gleam/set.gleam b/src/gleam/set.gleam index 9ffaccd..406d501 100644 --- a/src/gleam/set.gleam +++ b/src/gleam/set.gleam @@ -260,3 +260,20 @@ pub fn intersection( let #(larger, smaller) = order(first, second) take(from: larger, keeping: to_list(smaller)) } + +/// Creates a new set that contains members that are present in the first set +/// but not the second. +/// +/// ## Examples +/// +/// ```gleam +/// > difference(from_list([1, 2]), from_list([2, 3, 4])) |> to_list +/// [1] +/// ``` +/// +pub fn difference( + from first: Set(member), + minus second: Set(member), +) -> Set(member) { + drop(from: first, drop: to_list(second)) +} |