जब एक सरणी के लिए एक से अधिक स्तर का अनुक्रमण, यह ठीक काम करता है। लेकिन जब मैंने मूल्यों को असाइन करने के लिए इसका इस्तेमाल किया, तो ऐसा नहीं हुआ। क्या किसी को पता है कि A
नीचे क्यों नहीं बदलता है?जूलिया: सरणी में असाइनमेंट
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
मुझे लगता है कि होता है कि 'एक [3: 5] [[सच है, झूठी, सच]]' बल्कि 'से A' सीधे' A' की एक प्रति पर काम कर रहा है। (लेकिन मुझे निश्चित रूप से पता नहीं है।) हालांकि, यह 'ए [[3, 5]] = [99, 99 9] 'का उपयोग करने के लिए काम करेगा, जो बराबर है। –