Podczas indeksowania więcej niż jednego poziomu dla tablicy, działa poprawnie. Ale kiedy użyłem go do przypisania wartości, nie było. Czy ktoś wie, dlaczego A
nie zmienia się poniżej?Julia: Przypisanie w tablicach
In [4]: A = rand(6)
Out [4]: 6-element Array{Float64,1}:
0.111552
0.155126
0.78485
0.147477
0.362078
0.959022
In [5]: A[3:5][[true,false,true]]
Out [5]: 2-element Array{Float64,1}:
0.78485
0.362078
In [6]: A[3:5][[true,false,true]] = [99, 999]
Out [6]: 2-element Array{Int64,1}:
99
999
In [7]: A
Out [7]: 6-element Array{Float64,1}:
0.111552
0.155126
0.78485
0.147477
0.362078
0.959022
Przypuszczam, że 'A [3: 5] [[true, false, true]]' działa bezpośrednio na kopii "A" zamiast "A". (Ale nie wiem na pewno.) Jednak będzie działało, aby użyć 'A [[3, 5]] = [99, 999]', co jest równoważne. –