Hazır Değerler
- Buradaki sorun, sağ taraftaki hazır değerin bir
int'e sığmayacak kadar büyük olması ve o yüzden de türünün derleyici tarafındanlongolarak belirlenmesidir. Bu yüzden soldakiinttüründeki değişkene uymaz. Burada en az iki çözüm vardır.Bir çözüm, açıkça
intyazmak yerine, değişkenin türü içinautokullanmak ve tür seçimini derleyiciye bırakmaktır:auto miktar = 10_000_000_000;Böylece
miktardeğişkeninin değeri delongolarak seçilir.Diğer çözüm, değişkenin türünü de açıkça
longyazmaktır:long miktar = 10_000_000_000; - Burada satırın başına götüren
'\r'karakteri kullanılabilir. Böylece hep aynı satırın üstüne yazılır.import std.stdio; void main() { for (int sayı = 0; ; ++sayı) { write("\rSayı: ", sayı); } }
Yukarıdaki programın çıktısı hem fazla hızlı hem de
stdout'un ara belleğinin dolup boşalmasına bağlı olarak tutarsız olabilir. Aşağıdaki program her yazmadan sonra hemflush()ile çıkış ara belleğini boşaltır, hem de 10 milisaniye bekler:import std.stdio; import core.thread; void main() { for (int sayı = 0; ; ++sayı) { write("\rSayı: ", sayı); stdout.flush(); Thread.sleep(10.msecs); } }
Normalde çıkış ara belleğinin açıkça boşaltılmasına gerek yoktur. Ara bellek yeni satıra geçmeden önce veya girişten bilgi okunmadan önce de otomatik olarak boşaltılır.