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:
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:
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.