On Wednesday, 3 August 2022 at 21:35:29 UTC, Ruby The Roobster wrote:
>On Wednesday, 3 August 2022 at 19:11:51 UTC, pascal111 wrote:
>[...]
No need for a code. See, there is a keyword called ref
, that can be used both in function parameters and in foreach loops, and it is the equivalent of a pointer to the type specified, but it is automatically dereferenced. As arrays are themselves reference types, you don't need to change the parameter from Range range
to ref Range range
.
On the other hand, int
in it of itself isn't a reference type, meaning that to modify the actual value, you need to change the foreach loop to be:
foreach(ref x; range)
x = notfunny(x);
Proof: I tested it, and it works.
It works!