On Thursday, 4 November 2021 at 18:21:06 UTC, Andrey Zherikov
wrote:
On Thursday, 4 November 2021 at 13:03:54 UTC, Paul Backus wrote:
Have the lambda return by reference:
```d
auto get()
{
return idx.map!(ref (i) => a[i]);
}
```
Making this example a bit complex: I want `get` to return
additional data to the reference. How should I change the
lambda then?
```d
auto get()
{
return idx.map!(ref (i) => tuple(a[i], i)); // return ref
and index for simplicity
}
```
Since there are no such thing as `ref` variables in D, you can't
store a reference inside a tuple. So in this case, you will have
to use a pointer:
```d
auto get()
{
return idx.map!((i) => tuple(&a[i], i));
}
```