Julia 0.5 jetzt Indizierung von Arrays von CartesianIndex
ihm unterstützt. Ein CartesianIndex
ist ein spezieller Indextyp, die mehrere Dimensionen umfasst:
julia> genconv = reshape([6,9,7,1,4,2,3,2,0,9,10,8,7,8,5], 5, 3)
5×3 Array{Int64,2}:
6 2 10
9 3 8
7 2 7
1 0 8
4 9 5
julia> genconv[CartesianIndex(2,3)] # == genconv[2,3]
8
Was interessant ist, dass man Vektoren CartesianIndex
es verwenden können, um dieses numpy Stil punktuellen Indexierung angeben:
julia> genconv[[CartesianIndex(1,2),CartesianIndex(2,3),CartesianIndex(3,1)]]
3-element Array{Int64,1}:
2
8
7
Das ist ziemlich ausführlich und Schrecklich aussehende, aber das kann mit der neuen f.()
spezielle Broadcasting-Syntax für eine sehr schöne Lösung kombiniert werden:
julia> genconv[CartesianIndex.([1,2,3],[2,3,1])]
3-element Array{Int64,1}:
2
8
7
nicht mag ich? '[genconv [[1,2,3], [2,3,1]] ...]' –
Nein, weil ich einen Vektor mit drei Elementen erwarte. –