A.Vector.update_at

You're seeing just the function update_at, go back to A.Vector module for more information.
Link to this function

update_at(vector, index, fun)

View Source

Specs

update_at(t(val), index(), (val -> val)) :: t(val) when val: value()

Returns a copy of vector with an updated value at the specified index.

Returns the vector untouched if index is out of bounds. Supports negative indexing from the end of the vector.

Runs in effective constant time.

Examples

iex> A.Vector.new(1..8) |> A.Vector.update_at(2, &(&1 * 1000))
vec([1, 2, 3000, 4, 5, 6, 7, 8])
iex> A.Vector.new(1..8) |> A.Vector.update_at(8, &(&1 * 1000))
vec([1, 2, 3, 4, 5, 6, 7, 8])
iex> A.Vector.new(1..8) |> A.Vector.update_at(-1, &(&1 * 1000))
vec([1, 2, 3, 4, 5, 6, 7, 8000])