Thread overview | ||||||
---|---|---|---|---|---|---|
|
August 09, 2022 Copying and array into another | ||||
---|---|---|---|---|
| ||||
I tried to copy an array into another without affecting in the original array when I try to change the value of any element of the new array, but I failed except with this way in the next code: '''D int[] x=[1,2,3]; int[] y=x.filter!("a==a").array; y[1]=800; x.writeln; y.writeln; ''' |
August 09, 2022 Re: Copying and array into another | ||||
---|---|---|---|---|
| ||||
Posted in reply to pascal111 | On Tuesday, 9 August 2022 at 18:33:04 UTC, pascal111 wrote: > I tried to copy an array into another without affecting in the original array when I try to change the value of any element of the new array, but I failed except with this way in the next code: > > '''D > int[] x=[1,2,3]; > int[] y=x.filter!("a==a").array; > > y[1]=800; > > x.writeln; > y.writeln; > ''' A simpler way to do this is to use the array's built-in .dup method [1]: int[] x = [1, 2, 3]; int[] y = x.dup; y[1] = 800; writeln(x); // [1, 2, 3] writeln(y); // [1, 800, 3] [1] https://dlang.org/spec/arrays.html#array-properties |
August 09, 2022 Re: Copying and array into another | ||||
---|---|---|---|---|
| ||||
Posted in reply to pascal111 | Edit "Copying an array into another" in the title. |
August 09, 2022 Re: Copying and array into another | ||||
---|---|---|---|---|
| ||||
Posted in reply to Paul Backus | On Tuesday, 9 August 2022 at 18:41:52 UTC, Paul Backus wrote:
> On Tuesday, 9 August 2022 at 18:33:04 UTC, pascal111 wrote:
>> I tried to copy an array into another without affecting in the original array when I try to change the value of any element of the new array, but I failed except with this way in the next code:
>>
>> '''D
>> int[] x=[1,2,3];
>> int[] y=x.filter!("a==a").array;
>>
>> y[1]=800;
>>
>> x.writeln;
>> y.writeln;
>> '''
>
> A simpler way to do this is to use the array's built-in .dup method [1]:
>
> int[] x = [1, 2, 3];
> int[] y = x.dup;
> y[1] = 800;
>
> writeln(x); // [1, 2, 3]
> writeln(y); // [1, 800, 3]
>
> [1] https://dlang.org/spec/arrays.html#array-properties
I don't know how I forgot this or why it didn't come to my mind because I already indeed had read about ".dup"?! You are right!
|
Copyright © 1999-2021 by the D Language Foundation