writeln wipes contents of variables ?

W.J. via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Jan 21 08:45:30 PST 2016


On Thursday, 21 January 2016 at 14:36:36 UTC, Rikki Cattermole 
wrote:
> On 22/01/16 3:07 AM, W.J. wrote:
>> On Thursday, 21 January 2016 at 13:15:46 UTC, Rikki Cattermole 
>> wrote:
>>> [...]
>>
>>
>> Thanks for your reply.
>>
>> So writeln consumes the values in an InputRange. That leads me 
>> to
>> believe that if I feed an InputRange to foreach, it will 
>> consume the
>> values, too.
>> Did I get that right ?
>
> Correct.
>
>> If that's the case, why I can iterate and write the values 
>> just fine
>> using nested foreach loops *and* writeln them afterwards ?
>> I would expect the foreach loops leaves "step3" in the same 
>> state as
>> writeln does.
>>
>> So I'm still a little confused as to how foreach goes about 
>> it. I
>> thought foreach would be iterating an InputRange the same way 
>> writeln does.
>>
>> By attaching ".array" to the result of I was under the 
>> impression the
>> result was actually converted to an array.
>> That seems not to be the case. What I probably got was 
>> something like an
>> array of arrays of groups - which are apparently InputRanges ?
>>
>> So, yes, writeln... InputRange... makes perfect sense except 
>> for the
>> foreach case.
>>
>> Thanks again for the help :)

After playing around some more and apart from requiring much more 
practice I think this topic can be marked as 'solved'. However, I 
can't seem to find the edit button for my initial post.

Anyways, thanks for your contributions :) Very much appreciated!


More information about the Digitalmars-d-learn mailing list