(”?”), (”:”) Karakterlerini Kullanarak Koşullu Ifade Oluşturmak
Posted on Pazartesi, Şubat 15th, 2010 at 18:31Koş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.
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.
durum ? test_btn.visible = true : false;
ya da
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
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.
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:
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
Yazmayan ölsün..