Import ve Modül Sistemi

D dilinin ana tasarım amacı tutarlı olmak ve uç durumlardan uzak durmaktır. Bu durum turtles all the way down olarak söylenir. Bu durumun iyi bir örneği ise import ifadesidir.

Modül Eklemek

D dilindeki basit bir merhaba dünya uygulaması için, import gereklidir. import ifadesi verilen modüldeki herkese açık (public) tüm işlev (function) ve türleri kullanılabilir/erişilebilir kılar.

The turtles start falling down

Bir import ifadesi kaynak kodun en üst satırında bulunmak zorunda değil. Yerel bir şekilde işlevlerin ya da kapsamların içerisinde kullanılabilir. Sonraki bölümlerde bunun D dilindeki neredeyse bütün kavramlarda uygulandığını göreceksiniz. D dili nedensizce kısıtlamalar uygulamaz.

Modülden Seçerek Eklemek

Herkesçe kabul edilen kütüphane, Phobos, std paketinin içindedir ve modüllere import std.MODÜL şeklinde erişilir.

Ayrıca import ifadesi modülün içinden belirli sembolleri seçmek için de kullanılabilir.

import std.stdio : writeln, writefln;

Modülden seçerek eklemek, okunabilirliği arttırmak ve bir sembolün nereden geldiğini göstermek için kullanılabilir. Ayrıca farklı modüllerdeki aynı isme sahip semboller arasındaki çakışmayı engellemek için kullanılabilir.

Dizin ve Dosyalarla Eşleşme

D'nin modül sistemi - diğer sistemlere kıyasla - tamamen dosya bazlıdır. Örneğin, 'benim.kedim' her zaman benim klasörü içerisindeki kedim.d dosyasını gösterir. benim klasörü şu anki çalışma dizini içerisinde veya tanımlanmış dizinlerden (dmd derleyicisine -I argümanı ile tanımlanır) birinde bulunmalıdır. Son olarak, büyük modülleri bir çok ufak dosyaya bölmek için kedim.d dosyası yerine kedim/ klasörü kullanılabilir. D derleyicisi bu durumda benim/kedim.d dosyası yerine benim/kedim/package.d dosyasını yükleyecektir.

package.d için gelenek (zorunlu değil), aynı dizindeki diğer modülleri public olarak import etmektir.

rdmd playground.d