ActionScript 3.0, program akışını denetlemek için kullanabileceğiniz üç temel koşul deyimi sağlar.
if..else
if..else
koşul deyimi, bir koşulu test etmenize ve bu koşul varsa bir kod bloğu çalıştırmanıza veya koşul yoksa alternatif bir kod bloğu çalıştırmanıza olanak sağlar. Örneğin, aşağıdaki kod,
x
değerinin 20 değerini aşıp aşmadığını test eder, aşıyorsa bir
trace()
işlevi oluşturur veya aşmıyorsa farklı bir
trace()
işlevi oluşturur:
if (x > 20)
{
trace("x is > 20");
}
else
{
trace("x is <= 20");
}
Alternatif kod bloğu çalıştırmak istemiyorsanız,
if
deyimini
else
deyimi olmadan kullanabilirsiniz.
if..else if
if..else if
koşul deyimini kullanarak, birden çok koşul için test yapabilirsiniz. Örneğin, aşağıdaki kod yalnızca
x
değerinin 20 değerini aşıp aşmadığını değil, aynı zamanda
x
değerinin negatif olup olmadığını da test eder:
if (x > 20)
{
trace("x is > 20");
}
else if (x < 0)
{
trace("x is negative");
}
Bir
if
veya
else
deyiminden sonra yalnızca tek bir deyim geliyorsa, deyimin küme parantezine alınması gerekmez. Örneğin, aşağıdaki kod küme parantezi kullanmaz:
if (x > 0)
trace("x is positive");
else if (x < 0)
trace("x is negative");
else
trace("x is 0");
Ancak küme parantezi bulunmayan bir koşul deyimine daha sonra if deyimleri eklenirse beklenmedik davranış oluşabileceğinden Adobe, her zaman küme parantezleri kullanmanızı önerir. Örneğin, aşağıdaki kodda koşul
true
olarak değerlendirilse de değerlendirilmese de,
positiveNums
değeri 1 artar:
var x:int;
var positiveNums:int = 0;
if (x > 0)
trace("x is positive");
positiveNums++;
trace(positiveNums); // 1
switch
Aynı koşul ifadesine bağlı birden çok çalıştırma yolunuz varsa
switch
deyimi kullanışlıdır. Bu, uzun
if..else if
deyimleri dizisine benzer şekilde işlevsellik sağlar, ancak daha kolay okunabilir.
switch
deyimi, bir Boolean değerinin koşulunu test etmek yerine, bir ifade olarak değerlendirilir ve hangi kod bloğunun çalıştırılacağını belirlemek için sonucu kullanır. Kod blokları bir
case
deyimiyle başlar ve bir
break
deyimiyle sona erer. Örneğin, aşağıdaki
switch
deyimi,
Date.getDay()
yönteminin döndürdüğü gün sayısını esas alarak haftanın gününü yazdırır:
var someDate:Date = new Date();
var dayNum:uint = someDate.getDay();
switch(dayNum)
{
case 0:
trace("Sunday");
break;
case 1:
trace("Monday");
break;
case 2:
trace("Tuesday");
break;
case 3:
trace("Wednesday");
break;
case 4:
trace("Thursday");
break;
case 5:
trace("Friday");
break;
case 6:
trace("Saturday");
break;
default:
trace("Out of range");
break;
}
|
|
|