Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  Bir mantıksal ifadenin değerini bulmak için bazen tüm ifadeyi hesaplamak gerekmez. Bunu anlamak için çarpma işleminde 0 ın yutan eleman olmasını örnek gösterebiliriz, bu şekilde mantıkta "ve" işlemini çarpma, "yanlış" değerini de sıfır olarak düşünebiliriz.

Örnek :
     1. if(b AND KarışıkHesaplar())...
     2. if(obje != null AND obje.birMetod())...

yukardaki iki örnekte, "minimal evaluation" yaklaşımının iki faydasını görmekteyiz(zaten tüm faydaları bunlar :)
Birinci örnekte b = yanlış ise sonraki fonksiyon hiç çalışmaz böylece hesaplama zamanından kazanmış oluruz.
İkinci örnekte ise obje null olduğunda sonraki metod çağrılmaz, eğer çağrılsaydı çalışma zamanı hatası(runtime) oluşurdu. Böylece patlamayan programlar yazabiliriz.
kar
17 Ocak 2006 14:38
2.  if(obje != null AND obje.hobarey()) yerine try {obje.hobarey();} catch{} de olur, eğer performans korkunuz yoğise.
fizikci
17 Ocak 2006 17:07
3.  bkz: &&
bkz: AndAlso
bateristt
17 Ocak 2006 22:43
4.  short circuit olarak da geçmektedir.

Adada And işleci bu işi yapmaz, değerin ne olacağı kesin olarak bilinse bile tüm koşulları inceler. Bu yüzden de    
if(obje != null AND obje.hobarey())
şeklindeki kodunuz obje'nin null olduğu durumlarda göçer. {tabii bu kod Ada syntax'ı ile yazılmamış, sadece bir örnek..}
Ancak, "short circuit" işlemi yapmak için "and then" veya "or else" şeklinde kodlamanız yeterlidir.***
sertw
18 Ocak 2006 03:02
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.
© 2005, Bilişim Kulübü. (1078 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen