foreach loop

Namal via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Nov 3 07:29:30 PST 2015


On Tuesday, 3 November 2015 at 15:10:43 UTC, wobbles wrote:
> On Tuesday, 3 November 2015 at 15:06:00 UTC, Namal wrote:
>> On Tuesday, 3 November 2015 at 14:52:19 UTC, Adam D. Ruppe 
>> wrote:
>>> On Tuesday, 3 November 2015 at 14:47:14 UTC, Namal wrote:
>>>> I remember it is possible to get the index for each element 
>>>> in the foreach loop, but I forgot how to do it. Can you help 
>>>> me out please. Thx.
>>>
>>> for many of them it is as simple as:
>>>
>>> foreach(index, element; array) { }
>>
>> Thank you. I am still struggling with the functional ways of 
>> D. Now how could I write this foreach loop the functional way?
>>
>> bool[] arr = [ture, false, ture, ...];
>>
>> int count;
>> foreach(i;arr){
>>
>>   if(!i)
>>     count++;
>> }
>> writeln(count);
>
> writefln("Count is: %s", arr
>   .filter!(a => a==true)
>   .sum);
>
> // Note: std.algorithm.sum is the same as
> // std.algorithm.reduce!((a,b)=a+b);

well I tried this that way, but my count stays 0, same as if I do 
it in an int function with a return though I clearly have some 
false elements in the arr.


More information about the Digitalmars-d-learn mailing list