Bölümler
İngilizce Kaynaklar
Diğer



Örnek Kodlar

Buradaki küçük D programları, dilin özellikleri ve söz dizimi hakkında hızlıca bir fikir verme amacı taşıyorlar.

Merhaba dünya

Klasik "merhaba dünya" programı.

import std.stdio;

void main()
{
    writeln("Merhaba dünya!");
}
Türkçe harfler

D'nin en güzel taraflarından birisi, kaynak kodlarda Unicode karakterlerin de kullanılabilmesi.

import std.stdio;

void main()
{
    Türkçe_harf_dene();
}

void Türkçe_harf_dene()
{
    writeln("ğüşiöçıĞÜŞİÖÇI");
}
Kapsam fonksiyonları ve fonksiyon sabitleri [function literals]

Fonksiyonlar başka fonksiyonlar içerisinde tanımlanabilirler. Hatta isimsiz olarak ifadeler içerisinde bile tanımlanabilirler.

import std.stdio;

void main()
{
    /*
     * Örnek olsun diye burada kapsam fonksiyonu
     * kullanılıyor; serbest fonksiyon da olurdu.
     *
     * Bu fonksiyonun üç parametresi var:
     *
     * ilk:   hesaplanacak ilk değer
     * son:   hesaplanacak son değer
     * hesap: parametre olarak tek bir int alan ve int
     *        döndüren bir fonksiyon
     */
    void kapsam_fonksiyonu(int ilk,
                           int son,
                           int delegate(int) hesap)
    {
        for (int i = ilk; i <= son; ++i)
        {
            /* Parametre olarak verilen fonksiyonu kullanarak
             * bir hesap yapıyoruz*/
            int sonuç = hesap(i);
            writefln("%d %d", i, sonuç);
        }
    }

    writeln("kareler:");

    /*
     * Yukarıdaki kapsam fonksiyonunun burada isimsiz bir
     * fonksiyon sabitiyle çağrıldığını görüyoruz.
     *
     * Burada üçüncü parametre bir 'fonksiyon
     * sabiti'. 'sayı'nın fonksiyon parametresinden geldiğini
     * belirttikten sonra, fonksiyonu hemen ifadenin içinde
     * tanımlıyoruz.
     *
     * Parametre almayan bir fonksiyon sabiti olsa daha da
     * kısa olarak yazabilirdik:
     *
     *  kapsam_fonksiyonu(3, 10, { return 5; } );
     */
    kapsam_fonksiyonu(3, 10,
                      (int sayı){ return sayı * sayı; } );

    writeln("iki katlar:");
    kapsam_fonksiyonu(1, 7,
                      (int sayı){ return sayı * 2; } );
}