C# code sample

Mandeep Singh Brar mandeep at brars.co.in
Tue Jan 25 10:11:09 PST 2011


On Mon, 24 Jan 2011 14:39:33 -0500, Simen kjaeraas
<simen.kjaras at gmail.com> wrote:

> pragma <the_ignorator at hotmail.com> wrote:
>
>> Hi i come from a c# background
>>
>> I would like to write the following code in the according D style but
>> i'm not
>> sure howto do it
>>
>> c# code:
>> void foo(IEnumerable<double[]> data)
>> {
>>   foreach (var d in data)
>>   {
>>     do_some_stuff(d);
>>   }
>> }
>>
>> i guess the D equivalent to IEnumerable is Range? how would it look
>> like in D?
>
> void foo( R )( R data )
>      if ( isInputRange!R && is( ElementType!R == double ) )
> {
>      foreach ( d; data ) {
>          do_some_stuff( d );
>      }
> }

Actually, isIterable would be more correct than isInputRange for this code
example, not sure what the full code looks like.

http://www.digitalmars.com/d/2.0/phobos/std_traits.html#isIterable

-Steve


How about simply saying:

void foo(double[] data)
{
   foreach (d; data)
   {
     do_some_stuff(d);
   }
}

all ranges are already foreachable.

Regards
Mandeep


More information about the Digitalmars-d-learn mailing list