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