D Programlama Dili
Bu kitap PDF, EPUB (çoğu ekitap okuyucusu için), AZW3 (yeni Kindle'lar için), veya MOBI (eski Kindle'lar için) düzenlerinde de indirilebilir.
Kod örnekleri .zip dosyası halinde
Bölümler
- Önsöz – Andrei Alexandrescu
- Yazarın Önsözü
- "Merhaba Dünya" Programı
main - writeln ve write
- Derleme
- Temel Türler
char int double (ve daha başka) - Atama ve İşlem Sıraları
= - Değişkenler
- Standart Giriş ve Çıkış Akımları
stdin stdout - Girişten Bilgi Almak
- Mantıksal İfadeler
bool true false ! == != < <= > >= || && - if Koşulu
if else - while Döngüsü
while continue break - Tamsayılar ve Aritmetik İşlemler
++ -- + - * / % ^^ += -= *= /= %= ^^= - Kesirli Sayılar
.nan .infinity isNaN - Diziler
[] .length ~ ~= - Karakterler
char wchar dchar - Başka Dizi Olanakları
.. $ .dup capacity - Dizgiler
char[] wchar[] dchar[] string wstring dstring - Standart Akımları Dosyalara Bağlamak
- Dosyalar
File - auto ve typeof
auto typeof - İsim Alanı
- for Döngüsü
for - Üçlü İşleç ?:
?: - Hazır Değerler
- Çıktı Düzeni
writef writefln - Giriş Düzeni
- do-while Döngüsü
do while - Eşleme Tabloları
.keys .values .byKey .byValue .byKeyValue .get .remove in - foreach Döngüsü
foreach .byKey .byValue .byKeyValue - switch ve case
switch, case, default, final switch - enum
enum .min .max - İşlevler
return void - Değişmezlik
enum const immutable .dup .idup - Değerler ve Referanslar
& - İşlev Parametreleri
in out ref inout lazy scope shared - Sol Değerler ve Sağ Değerler
auto ref - Tembel İşleçler
- Programın Çevresiyle Etkileşimi
main stderr - Hata Yönetimi
throw try catch finally - scope
scope(exit) scope(success) scope(failure) - assert ve enforce
assert enforce - Birim Testleri
unittest - Sözleşmeli Programlama
in out - Yaşam Süreçleri ve Temel İşlemler
- null Değeri ve is İşleci
null is !is - Tür Dönüşümleri
to assumeUnique cast - Yapılar
struct . {} static, static this, static ~this - Parametre Serbestliği
T[]... __MODULE__ __FILE__ __LINE__ __FUNCTION__ (ve daha başka) - İşlev Yükleme
- Üye İşlevler
toString - const ref Parametreler ve const Üye İşlevler
const ref, in ref, inout - Kurucu ve Diğer Özel İşlevler
this ~this this(this) opAssign @disable - İşleç Yükleme
opUnary opBinary opEquals opCmp opIndex (ve daha başka) - Sınıflar
class new - Türeme
: super override abstract - Object
toString opEquals opCmp toHash typeid TypeInfo - Arayüzler
interface static final - destroy ve scoped
destroy scoped - Modüller ve Kütüphaneler
import, module, static this, static ~this - Sarma ve Erişim Hakları
private protected public package - İşlev Çağırma Ortak Söz Dizimi (UFCS)
- Nitelikler
- Yapı ve Sınıflarda Sözleşmeli Programlama
invariant - Şablonlar
- Pragmalar
- alias ve with
alias with - alias this
alias this - Göstergeler
* & - Bit İşlemleri
~ & | ^ >> >>> << - Koşullu Derleme
debug, version, static if, static assert, __traits - is İfadesi
is() - İşlev Göstergeleri, İsimsiz İşlevler, ve Temsilciler
function delegate => toString - Yapı ve Sınıflarda foreach
opApply empty popFront front (ve daha başka) - İç İşlevler, Yapılar, ve Sınıflar
static - Birlikler
union - Etiketler ve goto
goto - Çokuzlular
tuple Tuple AliasSeq .tupleof foreach - Ayrıntılı Şablonlar
template opDollar opIndex opSlice - Diğer İşlev Olanakları
inout pure nothrow @nogc @safe @trusted @system CTFE __ctfe - Katmalar
mixin - Aralıklar
InputRange ForwardRange BidirectionalRange RandomAccessRange OutputRange - Başka Aralık Olanakları
isInputRange ElementType hasLength inputRangeObject (ve daha başka) - static foreach
- Koşut İşlemler
parallel task asyncBuf map amap reduce - Mesajlaşarak Eş Zamanlı Programlama
spawn thisTid ownerTid send receive (ve daha başka) - Veri Paylaşarak Eş Zamanlı Programlama
synchronized, shared, shared static this, shared static ~this - Fiberler
call yield - Bellek Yönetimi
calloc realloc emplace destroy .alignof - Kullanıcı Nitelikleri (UDA)
@ - İşleç Öncelikleri