That is not literally true:
vals[2:3] = vals[3:4]
On Tuesday, 8 March 2016 02:37:26 UTC+1, John Myles White wrote:
>
> Array indexing produces a brand new array that has literally no
> relationship with the source array.
>
> -- John
>
> On Monday, March 7, 2016 at 5:21:34 PM UTC-8, Daniel Carrera wrote:
>>
>> Hello,
>>
>> Some Julia functions act on their inputs. For example:
>>
>> julia> vals = [6,5,4,3]
>> 4-element Array{Int64,1}:
>> 6
>> 5
>> 4
>> 3
>>
>> julia> sort!(vals);
>>
>> julia> vals
>> 4-element Array{Int64,1}:
>> 3
>> 4
>> 5
>> 6
>>
>>
>> However, it looks like these functions do not modify array slices:
>>
>> julia> vals = [6,5,4,3]
>> 4-element Array{Int64,1}:
>> 6
>> 5
>> 4
>> 3
>>
>> julia> sort!(vals[2:end])
>> 3-element Array{Int64,1}:
>> 3
>> 4
>> 5
>>
>> julia> vals
>> 4-element Array{Int64,1}:
>> 6
>> 5
>> 4
>> 3
>>
>>
>> Can anyone explain to me why this happens? Is this a language feature? Is
>> it at all possible to make a destructive function that acts on slices?
>>
>> Cheers,
>> Daniel.
>>
>>