(”?”), (”:”) Karakterlerini Kullanarak Koşullu Ifade Oluşturmak

Posted on Pazartesi, Şubat 15th, 2010 at 18:31

Koşullu ifadeler geliştirilmek istenen her uygulamada fazlaca kullanılmak durumunda. Uygulamadaki farklı her programcık için bazen switch deyimi daha uygun oluyor, bazen if else bazen de bu yazıda bahsedeğim (”?”) (”:”) karakterlerini kullanarak oluşturulan koşullu ifadeler.

Soru işareti ve noktalı virgül kullanarak oluşturulan koşullu ifade, yazım esnasında çabukluk ve kod satırlarından tasarruf sağlıyor. 5 Satırlık bir koşullu ifade programı yerine tek satırda da istediğiniz şartları sağlayabiliyorsunuz.

test_btn.name=”yeniIsim_mc” ise film klibinin durum adını “yeniIsmim_mc” olarak güncellemekte.

“test_btn” durum adlı(instance name) bir film klibimiz olsun.

test_btn.visible=false;

kodu, test_btn’nin gizlenmesini sağlamakta.

İlk uygulamamız boolean bir değişkenin durumuna göre, test_btn’yi gizlemek ya da göstermek üzerine olsun.

Koşulun anlamını başta yazalım ki kafamız karışmasın.

// ACTION SCRIPT

var durum:Boolean; // “durum” Değişkeni, değer atamadığımız için false olarak belirlenir.

if (durum==true) { // ya da aynı anlama gelen if (durum) {

test_btn.visible=true;

} else {

test_btn.visible=false;

}

Şimdi bu kodu yeniden düzenleyelim.

// ACTION SCRIPT

durum ? test_btn.visible = true : false;

ya da

// ACTION SCRIPT

test_btn.visible = durum ? true : false

Burada (”?”) karakteri ise ‘nin, (”:”) karakteri ise değilse ‘nin rolünü alıyor.

durum?

demek if(durum) anlamına geliyor

:

bunu yazmak ise değilse yani else yazmak yerine geçiyor.

“durum’un” numerik bir değişken olduğunu düşünelim ve ehliyet alma yaşını sorgulayalım

durum >= 18 ?

if(durum >= 18) anlamına geliyor. Süslü parantezi koymadan devam ediyoruz, bu da test_btn’nin visible özelliğini değiştiriyor.

durum >= 18 ? true

değilse false diyelim

durum >= 18 ? true : false

Basitçe bu şekilde kullanılıyor.

Birde string örnek üzerinde görelim

// ACTION SCRIPT

var uyariStr = durum ? “Oturum açtınız” : “Oturum sonlandırıldı”;

trace(uyariStr)

Değişken atarken kullandığımız bu ifadeyi, elbette ki değişken atadıktan sonra da kullanabiliriz. Ben daha zor olanı yazmak istedim.

Son örneğimiz, Fare olayı dinleyicisi yani mouseEvent eklenmesi gereken bir film klibine, üzerinde fare olayı dinleyicisi olup olmadığını sorgulamak, eğer üzerinde fare olayı mevcut değilse fare olayını eklemek üzerine olsun.

Normalde bu programcığın kodu şu şekildedir.

// ACTION SCRIPT

if(!test_btn.hasEventListener(MouseEvent.CLICK)) {


test_btn.addEventListener(MouseEvent.CLICK,fonksiyon);

}

function fonksiyon(e:Event){

}

3 Satırlık bu kodu tek satırda şöyle bitirebiliriz:

// ACTION SCRIPT

test_btn.hasEventListener(MouseEvent.CLICK) ? test_btn.addEventListener(MouseEvent.CLICK,fonksiyon) : trace(“Zaten Bir Görev Eklenmiş”);

Burak AYDIN | www.as3coder.com

PDF: http://as3coder.com/dosyalar/kosullu_ifadeleri_kisaltmak/kosullu_ifadeleri_kisaltmak_PDF.pdf

DOSYA: http://as3coder.com/dosyalar/kosullu_ifadeleri_kisaltmak/kosullu_ifadeleri_kisaltmak.fla

KODLAR(HTML): http://as3coder.com/dosyalar/kosullu_ifadeleri_kisaltmak/kosullu_ifadeleri_kisaltmak.html

İstersen yorum yazabilirsin, ya da kendi sitenden "geridönüş" (trackback) ekleyebilirsin.

Yazmayan ölsün..

Adın
e-Postan (Yayımlarsam ne olim)
Siten
Gençliğini neyle değerlendirdin?
Yorumun: