input range from stdin
krzaq via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Sep 18 06:10:04 PDT 2014
On Thursday, 18 September 2014 at 11:13:36 UTC, Marc Schütz wrote:
> On Thursday, 18 September 2014 at 09:21:17 UTC, krzaq wrote:
>> That's not what I wanted. Maybe I should explain instead of
>> expecting you to divine my intentions, though :) I am trying
>> to rewrite the following program in D--making it more elegant:
>> http://melpon.org/wandbox/permlink/ff42FoyKgqJK60sm
>>
>> As you can see, I can have one input line consisting of n
>> words and then n integers and I can read from it easily. My
>> question whether stdin.byLine allows me to do this remains
>> unanswered (or I failed to understand the answer), although I
>> am not hopeful.
>
> You should be able to use `std.algorithm.take` to read exactly
> 5 integers. However, in order to read up to the first empty
> line, for example, the input would have to be a forward range
> (= "rewindable"), which stdin.byLine of course is not. Maybe
> you could constructor a wrapper range that caches input lines
> as necessary.
Okay, I think I'll simply skip this for now.
I hoped that there would be a way of reading stdin composable
with std.algorithms, as is the case in C++.
I guess this works for now http://dpaste.dzfl.pl/6801615160e3
I have a follow-up question: why does zip not accept an array?
More information about the Digitalmars-d-learn
mailing list