On Friday, 22 December 2017 at 23:33:55 UTC, Mengu wrote:
On Thursday, 21 December 2017 at 21:11:58 UTC, Steven Schveighoffer wrote:
On 12/21/17 4:00 PM, kerdemdemir wrote:
I have a case like :

http://rextester.com/NFS28102

I have a factory method, I am creating some instances given some enums.
My question is about :


void PushIntoVector( BaseEnum[] baseEnumList )
{
     Base[] baseList;
     foreach ( tempEnum; baseEnumList )
     {
        baseList ~= Factory(tempEnum);
     }
}

I don't want to use "foreach" loop. Is there any cool std function that I can call ?

Something like baseEnumList.CoolStdFunc!( a=> Factory(a) )(baseList);


https://dlang.org/phobos/std_algorithm_iteration.html#map

-Steve

so basically it becomes:

Base[] baseList = baseEnumList.map!(el => Factory(el));

there's also a parallel version of map [0] if you ever need to map the list concurrently.

[0] https://dlang.org/phobos/std_parallelism.html#.TaskPool.map

Yeah that was very easy and I used to use map for this purposed a lot already. I don't know why I get confused. Thanks guys for correction. I began to think like map could transform but it can't create vector of elements and this confused me.

Reply via email to