unique_append now returns the number of unique elements appended

master
Aadhavan Srinivasan 2 months ago
parent ac2320b7ea
commit aee04cd8fe

@ -16,12 +16,14 @@ func assert(cond bool) {
} }
// Ensure that the given elements are only appended to the given slice if they // Ensure that the given elements are only appended to the given slice if they
// don't already exist. // don't already exist. Returns the new slice, and the number of unique items appended.
func unique_append[T comparable](slc []T, items ...T) []T { func unique_append[T comparable](slc []T, items ...T) ([]T, int) {
num_appended := 0
for _, item := range items { for _, item := range items {
if !slices.Contains(slc, item) { if !slices.Contains(slc, item) {
slc = append(slc, item) slc = append(slc, item)
num_appended++
} }
} }
return slc return slc, num_appended
} }

Loading…
Cancel
Save