I sometimes want non-mutating versions of push! and append! which copy their mutable inputs. Another thread asks about non-mutating versions of splice! and deleteat!.
Do we already have these somewhere? Can we add them to Base?
I sometimes want non-mutating versions of push! and append! which copy their mutable inputs. Another thread asks about non-mutating versions of splice! and deleteat!.
Do we already have these somewhere? Can we add them to Base?
concatenation?
Yes, the non-mutating version of append! is simply vcat.
Here’s a non-mutating version of deleteat!:
julia> using Accessors: delete, @optic
julia> delete([3,4], @optic _[1]) == [4]
true
haha I forgot that’s my issue
It’s even nicer in practice:
x = [3, 4]
y = @delete x[1]
For push!, there’s of course @insert (:
y = @insert last(x) = 5