Вы можете использовать MappedArrays
. MappedArrays
обеспечивает "просмотр" M
массива A
, так что M[i] = f(A[i])
. Все, что вам нужно сделать, это добавить пакет MappedArrays
к ]add MappedArrays
и начать использовать его с функцией sum
. Обратите внимание, что преобразование является ленивым, что означает, что он будет вычислять значения в M
при попытке доступа к ним. Поэтому после обновления до A
вы увидите изменение в M
при доступе к записям M
.
julia> using MappedArrays
julia> arr = [ [1,2,3] , [4,5,6] , [7,8,9] ]
3-element Array{Array{Int64,1},1}:
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
julia> M = mappedarray(sum, arr)
3-element mappedarray(sum, ::Array{Array{Int64,1},1}) with eltype Int64:
6
15
24
julia> arr[1][2] = 10
10
julia> M
3-element mappedarray(sum, ::Array{Array{Int64,1},1}) with eltype Int64:
14
15
24