View Source Rivet.Utils.List (rivet_utils v2.0.6)

Contributor: Brandon Gillespie

Summary

Functions

iex> pop([1,2,3,4,5]) [1,2,3,4]

iex> put_different([], 20, 10, :last_off) [last_off: 10] iex> put_different([], 10, 10, :last_off) []

Inefficient but simple set operations.

Inefficient but simple set operations.

TODO: switch to Enum.take()

iex> trim([1,2,3,4,5], 3) [1,2,3] iex> trim([1,2,3,4], 10) [1,2,3,4] iex> trim([1,2,3,4,5], 0) []

Functions

iex> pop([1,2,3,4,5]) [1,2,3,4]

Link to this function

put_different(chgs, same, same, key)

View Source

iex> put_different([], 20, 10, :last_off) [last_off: 10] iex> put_different([], 10, 10, :last_off) []

Link to this function

setadd(list, elem, getter)

View Source

Inefficient but simple set operations.

Maintains order, returns a list, uses a "getter" function to pull the value

iex> setadd([1,2,3], 3, &(&1)) [1,2,3] iex> setadd([1,2,3], 4, &(&1)) [1,2,3,4]

Link to this function

setremove(list, elem, getter)

View Source

Inefficient but simple set operations.

Maintains order, returns a list, uses a "getter" function to pull the value

iex> setremove([1,2,3], 3, &(&1)) [1,2] iex> setremove([1,2,3], 4, &(&1)) [1,2,3]

TODO: switch to Enum.take()

iex> trim([1,2,3,4,5], 3) [1,2,3] iex> trim([1,2,3,4], 10) [1,2,3,4] iex> trim([1,2,3,4,5], 0) []