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!