Skip to content

Commit 75347cb

Browse files
CrowdHailerlpil
authored andcommitted
add drop function to set module
1 parent 124a0b1 commit 75347cb

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

src/gleam/set.gleam

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,10 @@ pub fn filter(
199199
Set(map.filter(in: set.map, for: fn(m, _) { property(m) }))
200200
}
201201

202+
pub fn drop(from set: Set(member), drop disallowed: List(member)) -> Set(member) {
203+
list.fold(over: disallowed, from: set, with: delete)
204+
}
205+
202206
/// Creates a new map from a given map, only including any members which are in
203207
/// a given list.
204208
///

test/gleam/set_test.gleam

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,13 @@ pub fn take_test() {
8080
|> should.equal(set.from_list([1, 3]))
8181
}
8282

83+
pub fn drop_test() {
84+
["a", "b", "c"]
85+
|> set.from_list
86+
|> set.drop(["a", "b", "d"])
87+
|> should.equal(set.from_list(["c"]))
88+
}
89+
8390
pub fn union_test() {
8491
set.union(set.from_list([1, 2]), set.from_list([2, 3]))
8592
|> set.to_list

0 commit comments

Comments
 (0)