September 09, 2009

foreach döngüsü diğer dilleri bilenlerin aşina olduğu bir konudur. Ama D'deki foreach biraz daha farklı gibi. Örn:

foreach (size_t i, dchar c; s)

Burada ne yapılmak isteniyor ? Ayrıca foreach konusu için örnekler verebilir misiniz?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

September 09, 2009

for_each belirtilen bir aralıktaki elemanların herbirini bir işlemden geçiriyor. Bu işlem herhangi bir işlem olabilir. Aslında bunu D'de örneklemek isterdim. Ama dilin yazım biçimine henüz aşina olmadığım için aşağıdaki örnek C++. Zaten farklı programlama dillerinde de de hemen aynı şekilde kullanılıyor. Örneğin for_each C#'da da var:

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

void yazdir (int eleman)
{
   cout << eleman << ' ';
}

int main ()
{
   vector <int> sayilar;

   for (int i = 1; i <= 9; ++i)
   {
       sayilar.push_back (i);
   }

   // Tüm elemanları yazdır

   for_each (sayilar.begin (), sayilar.end (),
             yazdir);
   cout << '\n';
}

Burada sayılardan oluşan bir vektör topluluğunun elemanlarını for_each bir işlemden geçiriyor. Yazdırıyor. İsteseydik bu işlevi değiştirip karelerini yazdırabilirdik.

Bu arada D, C# derken C++'yi özlemişim be :)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]