On Monday, 6 January 2025 at 19:58:12 UTC, H. S. Teoh wrote:
On Mon, Jan 06, 2025 at 07:30:27PM +0000, Renato via Digitalmars-d-learn wrote:
Is there any Phobos function that collects "some" items of a range
into an array/slice?
It's kind of embarrassing that I've been trying to find this for hours
now without success :(.
[...]
My use case is to parse a file format where a line is expected to have 4 items. I am currently using `takeExactly(4)` but that doesn't let me index on it, so I can only think of doing inconvenient (and inefficient) stuff like `front, skip(1).front ...` to avoid having to write my own `toArray` :D. I couldn't even find a method to take 1 item and advance the range! Am I just looking at the entirely wrong places (std.range, std.algorithm.iteration)??
[...]

What's wrong with just using std.array.array?


T

So I was indeed looking at the wrong place. It's not very intuitive to me that a function that acts on ranges is not in std.range but in std.array.

I guess the idea is to keep std.range pure (all functions take and return ranges, not slices/arrays/HashMaps etc.)?

Reply via email to