On Tuesday, 10 August 2021 at 15:32:25 UTC, Dennis wrote:
Thanks for this solution as well.
On Tuesday, 10 August 2021 at 13:10:23 UTC, Paul Backus wrote:
Would definitely be nice to have this in the language, though.
Do you know more use cases for this?
I've written range pipelines like this:
```d
someSourceRange
.chunks(2)
.map!(chunk => chunk.staticArray!2) // allows random access
.each!(pair => doSomethingWith(pair[0], pair[1]));
```
Having to write `pair[0]` and `pair[1]` is a bit awkward, though.
Normally I would use something like the following to bind each
element to a separate parameter:
```d
alias apply(alias fun) = args => fun(args.tupleof);
/* ... */
.each!(apply!((first, second) => doSomethingWith(first,
second)));
```
...but `.tupleof` doesn't work with static arrays, so that
doesn't compile.