I find there is update method for List but not for Tuple. Because this is not efficiency?
There is the Tuple.append
function (docs).
I think the main idea behind tuples is for them to generally be fixed length and not often changed in this way.
There’s not such a thing in elixir, but you can always use the erlang’s setelement/3
http://erlang.org/doc/man/erlang.html#setelement-3
iex(11)> :erlang.setelement(2, {1,2,3}, "foo")
{1, "foo", 3}
2 Likes
Thanks, will lookup erlang next time
1 Like
Sure there is, it’s called put_elem/3:
iex(1)> put_elem({:foo, :bar, :baz}, 1, :qux)
{:foo, :qux, :baz}
12 Likes
Thanks to remind me I always keep relying on erlang libs…
2 Likes
Is there an update function for Tuples similar to Kernel’s update_in
, which accepts an update function?
You can use Access.elem
with all the *_in
functions
2 Likes