Increment some components of a vector

I think this is pretty idiomatic:

julia> components = [1,1,2]
3-element Array{Int64,1}:
 1
 1
 2

julia> vector = zeros(3)
3-element Array{Float64,1}:
 0.0
 0.0
 0.0

julia> increment= 1:3 # no need to collect
1:3

julia> @view(vector[components]) .+= increment
3-element view(::Array{Float64,1}, [1, 1, 2]) with eltype Float64:
 3.0
 3.0
 3.0

julia> vector
3-element Array{Float64,1}:
 3.0
 3.0
 0.0
3 Likes