|
Actionscript 2.0
Operatörler
OPERATÖRLER
- Atama Operatörü (=)
Atama operatörü ile değişkenleri ve veri türlerini anlattığımız
yazılarda da karşılaşmıştınız. Atama operatörü, değişkenlere
değer atama amacı ile kullanılır.
adi = "Hakan";
örneğinde adi değişkenine "Hakan" değeri atanıyor.
sayi = 5;
sayi = sayi + 1;
yukarıdaki örnekte ise, sayi değişkenine 5 değeri atanıyor daha
sonrasında ise yine sayı değişkenine kendisinin 1 fazlası
atanıyor.
Atama operatörü değişkenlere değer atamak için kullanılan tek yol
değildir. set() fonksiyonu ile atama operatörü aynı işlevi
görür. Ancak pratikte set fonksiyonu kullanılmaz.
set(adi,"Hakan");
ile
adi = "Hakan";
tamamen aynıdırlar.
MATEMATİKSEL İŞLEM OPERATÖRLERİ
- Toplama Operatörü (+)
Matematikte kullanılan toplama operatörü ile tamamen aynı işleve
sahiptir. İstenilen sayısal değerleri birbiri ile toplar.
sayi_1 = 10;
sayi_2 = 13;
toplam = sayi_1 + sayi_2; //toplam = 23
yukarıdaki örnekte sayi_1 ve sayi_2 değişkenlerine sayısal değerler
atanıyor ve bu değerler daha sonra toplanarak toplam
değişkenine atanıyor.
+ operatörü sayısal olmayan veriler ile kullanıldığında ise
birleştirme operatörü olarak işlev görür. Örneğin aşağıdaki string
örneklerini inceleyelim;
adi = "Hakan";
soyadi = "SULUN";
uzun = adi + " " + soyadi;
trace(uzun); //ciktisi Hakan SULUN olacaktır.
Yukarıdaki örnekte adi ve soyadı değişkenlerine string değerler
atanıyor ve uzun değişkeninde birleştiriliyor. Görüldüğü gibi
string değerler sayısal olarak toplanmak yerine birleştirilirler.
- Çıkarma Operatörü (-)
Çıkarma operatörü de yine toplama operatöründe olduğu gibi
matematiksel çıkarma işlemini yapmak için kullanılır.
a = 8;
b = 3;
c = a - b; //ciktisi 5 olacaktir.
String veriler ile yapılan işlemlerde de toplama operatöründeki
kurallar geçerlidir. Yanlız aradaki bir farka dikkat etmek gerekir;
a = "30";
b = "10";
c = a - b; //ciktisi 20 olacaktir..
a = "ali";
b = "l";
c = a - b; //ciktisi NaN olacaktir.
cikarma operatörü string veriler eğer değer olarak sayısal bir değer
içeriyor ise, onları sayısal veri türüne çevirip çıkarma
işlemini gerçekleştirir. Ancak sayısal değer içermeyen string
veriler için NaN döndürecektir.
- Çarpma Operatörü (*)
Matematikte kullanılan çarpma operatörü ile aynı işlevi görür,
verilen iki sayıyı birbiri ile çarpar.
y = 3;
z = 5;
trace(y * z); //ciktisi 15 olacaktir.
Yine çarpma operatörünün string veriler ile kullanılması, çıkartma
operatörü ile tamamen aynıdır. Eğer string veriler sayısal
değerler içeriyorsa çarpma işlemi başarılı olur. Yoksa NaN
döndürecektir.
- Bölme Operatörü (/)
Matematikte kullanılan bölme operatörü ile aynı işleve sahiptir.
Verilen iki sayıyı birbirine böler.
y = 10;
z = 2;
trace(y / z); //ciktisi 2 olacaktir.
String veriler ile çalışırken, çıkarma ve çarpma operatöründeki
kurallar bölme operatöründe de geçerlidir.
- Matematiksel Gruplandırma
Operatörü "( )"
Çoğu zaman aynı ifade içinde birden fazla matematiksel işlem
yapmamız gerektiği durumlar olabilir. Örneğin;
x = 5 * 2 + 50;
işleminde olduğu gibi. Yukarıdaki örnekte aynı ifadede çarpma ve
toplama işlemi yapılmak isteniyor. Ancak hangi işlem diğerinden
önce yapılacak? Kodunuzun akışı bu işlemin sonucuna bağlı ise, işlem
önceliği hayati önem taşır hale gelir.
Actionscript yorumlayıcısı bu gibi durumlar için aşağıdaki işlem
önceliği sırasını uygular;
+ Parantez içerisindeki işlemler
+ Çarpma işlemi
+ Bölme işlemi
+ Toplama işlemi
+ Çıkarma işlemi
Oysa biz yukarıdaki örnekte 50 + 2 toplamının iki katını almak
istesek, actionscript yorumlayıcısı işlem önceliğine göre ilk önce
5 * 2 = 10 ve daha sonra da 50 + 10 = 60 sonucunu üretecektir.
Bu gibi durumlarda gruplandırma amaçlı parantez operatörü işimizi
görmektedir. Yukarıdaki örneği aşağıdaki şekilde düzenle
diğimizde, tam istediğimiz gibi çalışacaktır.
x = 5 * (2 + 50); //ciktisi 260 olacaktir.
- Modül Alma Operatörü ( % )
Matematikte kullanılan modül alma işlemini gerçekleştirmek için
kullanılır. Bir sayının diğerine bölümünden kalan sayıyı
döndürür.
x = 10;
y = 3;
z = x % y;
trace(z); //ciktisi 1 olacaktir. 10 sayısının 3' e bölümünden kalan
1 dir.
- Arttırma Operatörü ( ++ )
İstenilen sayısal verinin değerini 1 arttırmak için kullanılır.
degisken = degisken + 1 işleminin kısaltılmış şeklidir.
x = 9;
x++;
trace(x); //ciktisi 10 olacaktir;
Bu operatörde, değeri arttırılmak istenilen değişkenin sağında ya da
solunda kullanılması durumunda ortaya çıkabilecek farklı
sonuçlar vardır.
+ Sağda kullanım:
x = 5;
y = x++;
Yukarıdaki örnekte, x değişkeninin değeri ilk önce 5 olarak
atanıyor. İkinci satırda ise ++ operatörü ile değeri bir arttırılıp
6 olarak atanıyor. Ancak;
y = x++;
işleminde, y değişkeninin değeri sandığımız gibi x' in yeni değeri
olan 6 olmayacaktır. Tam tersine x değişkeninin değerini arttırmadan
önceki değeri olan 5 olacaktır.
Kısacası, ++ operatörü sağda kullanıldığında ilk önce varolan değeri
döndürecek, daha sonrasında ise değeri 1 arttıracaktır.
+ Solda kullanım:
x = 5;
y = ++5;
Yukarıdaki örnekte, ilk önce x değişkenine 5 değeri atanmaktadır.
Tıpkı sağda kullanımda olduğu gibi, ikinci satırda ise
++ operatörü bir atama işlemi ile birlikte kullanılıyor.
Ancak bu sefer y değişkeninin değeri beklenildiği şekilde x
değişkeninin bir fazlası olan 6 değerine eşit olacaktır.
Kısacası, ++ operatörü solda kullanıldığında ilk önce değeri 1
arttıracak daha sonra yeni değeri döndürecektir.
- Azaltma Operatörü ( -- )
İstenilen sayısal verinin değerini 1 azaltır. degisken = degisken -
1 işleminin kısaltılmış halidir.
x = 5;
x--;
trace(x); //ciktisi 4 olacaktir.
Tıpkı arttırma operatöründe olduğu gibi, çıkartma operatörü de sağda
ya da solda kullanıldığında aynı davranışları gösterecektir.
x = 5;
y = x--;
trace(y); //ciktisi 5 olacaktir.
trace(x); //ciktisi 4 olacaktir.
x = 5;
y = --5;
trace(y); //ciktisi 4 olacaktir.
trace(x); //ciktisi 4 olacaktir.
BİRLEŞİK ATAMA OPERATÖRLERİ
- Topla ve Ata ( += )
Kullanımı, ifade1 += ifade2 şeklindedir.
ifade2 alanındaki değeri ifade1 alanında belirtilen değere ekleyerek
dönen sonucu yine ifade1 alanında belirtilen ifadeye atar. Yani;
ifade1 = ifade1 + ifade2;
şeklinde de tanımlanabilir.
x = 5;
y = 10;
x += y;
trace(x); //ciktisi 15 olacaktir
yukarıdaki örnekte de görüldüğü gibi ilk önce x ve y değişkenlerine
sayısal değerler atanmaktadır. Daha sonra topla ve ata birleşik
operatörü ile x değişkenine kendi değerinin y değişkenindeki değeri
ile toplamı atanmaktadır. Dolayısı ile işlemden sonra
x değişkeninin yeni değeri 10 + 5 = 15 olacaktır.
- Çıkar ve Ata ( -= )
Kullanımı, ifade1 -= ifade2 şeklindedir.
ifade1 alanındaki değerden, ifade2 alanındaki değeri çıkartarak
dönen sonucu ifade1 alanındaki ifadeye atar. Kısaca;
ifade1 = ifade1 - ifade2;
işleminin kısaltılmış halidir.
x = 10;
y = 5;
x -= y;
trace(x); //ciktisi 5 olacaktir.
- Çarp ve Ata ( *= )
Kullanımı, ifade1 *= ifade2 şeklindedir.
ifade2 alanındaki değeri, ifade1 alanındaki değer ile çarparak dönen
sonucu ifade1 alanındaki ifadeye atar. Yani;
ifade1 = ifade1 * ifade2;
işleminin kısaltılmış halidir.
x = 5;
y = 2;
x *= y;
trace(x); //ciktisi 10 olacaktir.
- Böl ve Ata ( /= )
Kullanımı, ifade1 /= ifade2 şeklindedir.
ifade1 alanındaki değeri, ifade2 alanındaki değere böler ve dönen
sonucu ifade1 alanındaki ifadeye atar. Yani;
ifade1 = ifade1 / ifade2;
işleminin kısaltılmış halidir.
x = 10;
y = 2;
x /= y;
trace(x); //ciktisi 5 olacaktir.
- Modül al ve Ata ( %= )
Kullanımı, ifade1 %= ifade2 şeklindedir.
ifade1 alanındaki değerin, ifade2 alanındaki değere bölümüden kalanı
hesaplar ve dönen değeri ifade1 alanındaki ifadeye atar.
ifade1 = ifade1 % ifade2;
işleminin kısaltılmış halidir.
Operatörler yazımıza bu haftalık burada son veriyoruz. Önümüzdeki
hafta eşitlik, karşılaştırma ve mantıksal operatörler ile
devam edeceğiz.
DEĞİŞKENLER
Bundan önceki makalelerimizde veri türlerini tamamladık, bundan
sonrasında ise bu türlerin derinlemesine kullanımına değineceğiz.
Değişkenler, temel olarak hafızada saklanan veriye erişmek için
kullanılan temsilcilerdir. Çok yaygın bir görüş olduğundan
değişkenleri "Saklama Kabı" olarak düşünebiliriz. Her değişkenin bir
adı, bir de değeri vardır örneğin;
isim = "Hakan";
isim değişkenin adı, "Hakan" ise bu değişkenin taşıdığı değerdir.
Anlaşılabileceği gibi bu değişken string bir değere sahiptir.
Değişkenler, daha önce öğrendiğimiz veri türlerinin hepsini değer
olarak alabilirler. Örnekleri inceleyiniz;
hedefClip = myMovieClip; //movie clip ornegini deger olarak almis
adi = "myName"; //string
sayi = 15; //sayi
giris = true; //boolean
Bir değişkenin tanımlanması sırasında, tür uyumu, isimlendirme
kuralları gibi dikkat edilmesi gereken hususlar vardır. Değişken
isimlendirmesi, her ne kadar bizim zevkimize kalmis ise de bazı
kurallar çerçevesindedir.
- Değişken adında boşluk kullanılmaz.
kullanici adi = "Mesut Şaşmaz"; //hatalı tanımlama
- Değişken adları, sayı ya da alfanumerik olmayan karakterlerle
başlayamaz.
1_giris = 0; //hatali bildirim
%yuklenen = 100; //hatali bildirim
Bunların dışında, değişken isimlendirmesinde Türkçe karakterlerin
kullanılmaması da salık verilir.
Genel bir programlama alışkanlığı olarak, değişken
isimlendirmesinde ilk kelime küçük harfle başlar, takip eden her
kelimenin ilk harfi büyük yazılarak devam edilir.
dosyaAdi = "myFile.txt";
kullaniciGirisIzni = false;
Değişken isimlendirmede dikkat edilecek son nokta da,
Actionscript youmlayıcısı için özel anlam ifade eden kelimelerin
değişken adı olarak kullanılmamasıdır. Zaten bu gibi bir kullanımda
Actions paneli kelimeyi sizin için renklendirdiğinden yanlış bir
kullanım yaptığınızı anlayacaksınız.
this = myMovieClip; //yanlis, this ozel bir kelime
import = ""; //hatali bildirim
DEĞİŞKENLERİN ÖMÜRLERİ ve FAALİYET ALANLARI
Her değişken, tanımlandığı bloğa göre 3 gruba sınıflandırılır;
- Local değişkenler
- Global değişkenler
- Timeline değişkenleri
Local Değişkenler:
Bu tip değişkenler, sadece tanımlandıkları blok içerisinde
faaliyet gösterirler ve geçerlidirler. Burada blok teriminin
açıklamasını yapmakta fayda görüyorum;
Actionscript söz diziminde { } küme parantezleri arasındaki ifadeler
"blok" olarak adlandırılırlar.
if(durum)
{
//burasi if blogunun ici
}
Local değişkenler, faaliyet göstermesini istediğimiz blok
içerisinde "var" deyimi ile tanımlanırlar. Hatırlayacağınız üzere
var deyiminin daha önceki açıklamasında ileride farklı alanlarda
kullanacağımızı belirtmiştik.
function topla(a,b)
{
var toplam = a+b;
return toplam;
}
trace(toplam); //undefined
Yukarıdaki örnekte, toplam değişkeni sadece "topla" fonksiyonu
içerisinde faaliyet göstermektedir. Filminiz içerisinde herhangi bir
noktada topla değişkenine erişmek istediğinizde "undefined" hatası
ile karşılaşırsınız.
Fonksiyonu aşağıdaki şekilde düzenleyip tekrar deneyelim;
function topla(a,b)
{
toplam = a+b;
return toplam;
}
topla(10,20); //fonksiyonu cagiriyoruz.
trace(toplam); //ciktisi 30 olacaktir.
Gördüğünüz gibi, toplam değişkeni Local bir değişken olmaktan
çıkrı. Bunun anlamı var deyimi kullanılmadan tanımlanan
değişkenlerin birer Timeline değişkeni haline geleceğidir.
Timeline Değişkenleri:
Timeline (zaman çizgisi) kavramından söz edebilmek için, önce
movieclip olması gereklidir. Her movieclip' in kendisine ait bir
zaman çizgisi vardır ve kendi içlerindeki komutları bu zama
çizgisinde işletirler. Bir movieclibin zaman çizgisi içerisinde "local
olmayan" bir değişken tanımlandığında, o değişkene kendi timeline' ı
içerisinde doğrudan erişilebilir.
Local değişkenlerden farklı olarak, timeline değişkenlerine
mutlak yol belirtmek koşulu ile kendi timelineları dışından da
erişilebilir. Aşağıdaki örnekleri inceleyiniz;
//myClip isminde bir movieclip' in zaman cizgisinde
//1. frame icerisindeki kod.
timeLineDegiskeni = "myClip içerisinde faaliyet gösteriyorum";
trace(timeLineDegiskeni); //degiskenin degerini yazdirir
//root (ana zaman çizgisi) üzerindeki
//1. frame içerisinde bulunan kod.
trace(timeLineDegiskeni); //undefined
trace(myClip.timeLineDegiskeni); //degiskenin degerini yazdirir.
Mutlak ve göreceli yol bildirimlerine ileride detaylı olarak
değineceğimizden, şimdilik bu örneklerde değişkenlerin faaliyet
alanlarını anlamanız yeterli olacaktır.
Global Değişkenler:
Global değişkenler, adından da anlaşılabileceği gibi; uygulama
içerisinde her hangi bir yerden direk olarak erişime sahip olan
değişkenlerdir. Bir değişkeni global düzeyde tanımlamak için _global
belirteci kullanılır.
_global.skor = 70; //root ta tanimlanmis bir global degisken
//myClip movieclibi içerisindeki kod
trace(skor); //ciktisi 70 olacaktir.
Yukarıdaki örnekte, skor değişkeni ana zaman çizgisi üzerinde
tanımlanmış bir global değişkendir. Tanımlandığı yer olarak ana
zaman çizgisi üzerinde olsa da, global seviyede tanımlandığı için
herhangi bir zaman çizgisinden de doğrudan erişilebilir.
DEĞİŞKENLERİN TAŞIYACAĞI VERİYİ BELİRLEMEK
Pek çok programlama dilinden alışkın olduğumuz bir durum,
değişken tanımlaması sırasında o değişkenin taşıyacağı verinin
türünün de belirtilmesidir.
Visual Basic:
Dim i As Integer 'sayisal bir degisken
C - C++ - C#
int sayi; //sayisal bir degisken
vb..
Actionscript 2.0 tür bildirimi, sadece "Local" düzeydeki
değişkenler için, yani var deyimi ile tanımlanan değişkenler için
yapılmaktadır. Global ya da Timeline değişkenleri için tür bildirimi
söz konusu değildir.
Actionscript 2.0 da tür bildirimi ":" iki nokta operatörü ile
yapılır.
var isim:String = "Hakan"; //string bir degisken
//tur bildirimi yapiliyor
var sayi:Number = 10;
Yukarıdaki tanımlamalardan sonra, aşağıdaki atamaları yapmaya
kalktığınızda A.S derleyicisi tarafından hata mesajı alacaksınız.
isim = 20; //hata, string degiskene sayisal veri ataniyor
sayi = "10"; //hata
Tür bildirimi, Actionscript 2.0 içerisinde bulunan tüm hazır
sınıflar ve sizin oluşturacağınız özel sınıflar için yapılabilir.
Tür bildiriminin bir diğer faydası da Actions panelinin "intellisense"
özelliğinin kullanılabilmesine olanak sağlamasıdır. Tür bildirimi
yaparak tanımladığınız bir değişkenin metodlarına erişmek
istediğinizde Actions paneli size mevcut metodları listeleyecektir.
function abc(a:Number,b:String,c:kendiSinifim)
{
.
.
.
}
Şekilde de görüleceği gibi, parametre değişkenlerinde de tür
bildirimi yapılabilmektedir.
Değişkenler ile ilgili bu yazımızda değineceğimiz son nokta da,
delete deyimi. Uygulamanızda zaman zaman artık kullanılmasına gerek
kalmayan değişkenler olabilir. Hafızanın verimli kullanılabilmesi
için bu değişkenleri silmek oldukça mantıklı bir çözüm olacaktır.
delete deyimi, hafızada tanımlı bir değişkeni silmek (hafızada
kaldırmak) için kullanılır.
silinecekDegisken = "blablabla";
trace(silinecekDegiske); //blablabla ciktisini alacaksiniz.
delete silinecekDegisken; //degiskeni siliyoruz
trace(silinecekDegisken); //undefined.
Bu makalemizde, değişkenlerin tanımlanması, tür belirtimi ve
faaliyet alanları üzerinde durduk. Bir sonraki makalemizde
Operatörler ile Actionscript serüvenimize devam edeceğiz.
Boolean veri türü
Boolean veri türü, actionscript içerisinde mantıksal
değerlendirmelerde kullanılır. TRUE yada FALSE değerini taşır (1 ve
0 sayısal değerleri, TRUE ve FALSE bool değerlerin karşılığıdır)
Örn;
var gec =
true; //boolean gec degiskeni
var yetkili =
false;
yukarıdaki örneklerle aşağıdakiler, mantıksal denetlemelerde aynı
sonucu vereceklerdir.
var gec = 1;
var yetkili = 0;
Aşağıdaki örnekte yetkiliGirisi değişkeninin değerine göre, yönetim
modülüne yönlendirme yapan ufak bir denetim bloğu görmektesiniz.
if (yetkiliGirisi ==
true)
{
gotoAndPlay(“yonetim”);
}
Boolean veri türü, 0 hariç tüm pozitif ve nefatif sayıları TRUE
olarak kabul eder, 0 için ise FALSE döndürür.
Aşağıdaki örneği inceleyiniz;
var yasak =
“1”;
var gecisIzni =
“14532”;
var durumKontrol =
“0”;
var intDurum = 0;
if (yasak ==
true)
{
trace(“Yasak
bölge”);
}
if (gecisIzni ==
true)
{
trace(“Geçiş
izni verildi”);
}
if (durumKontrol ==
true)
{
trace(“Durum
kontrol TRUE”);
}else
{
trace(“Durum
kontrol FALSE”);
}
Örneklerden de görebileceğinizi gibi, değişkenin
değeri string türünden olmasına rağmen == operatörü ile yapılan
karşılaştırmada TRUE ya da FALSE değerini döndürmektedir.
Referans veri türleri
Referans veri türleri, basit veri türlerinde olduğundan farklı
olarak “gerçek değerleri” taşımaz. Bunun yerine, bir referans veri
türü; bir movie clip sembolünün instanceName değeri, ya da nesne adı
gibi işaretçileri temsil ederler.
Ogrenci = function(ogrenciAdi)
{
var strIsim;
this.strIsim =
ogrenciAdi;
}
ogr1
= new Ogrenci("Mustafa");
ogr2
= new Ogrenci("Hamit");
trace("Öğrenci1
adı: "+ogr1.strIsim);
trace("Öğrenci2
adı: "+ogr2.strIsim);
trace("Öğrenci
3 (2 nin referansı): "+ogr3.strIsim);
ogr2.strIsim = “Hakan”;
ogr3
= ogr2;
trace("Öğrenci
3 (2 nin referansı) yeni: "+ogr3.strIsim);
Yukarıdaki örnekten de görülebileceği gibi, ogr1 ve ogr2
değişkenlerinin değerleri, “Ogrenci” adında oluşturulmuş bir
nesnedir.
Ogr3
değişkenine ise, ogr2 değişkeninin değeri atanmıştır. Ogr2
değişkeninde yapılan herhangi bir değişiklik, - gerçek değerini
değil, referansını tuttuğu için- ogr3 değişkeninde de değişikliğe
sebep olmaktadır.
Görülebileceği üzere, referans veri türünde bir özelliğin değerini
değiştirmek; aynı özelliği referans alan diğer tüm değişkenlerin de
değerini değiştirecektir.
Referans veri türleri kendi içerisinde “Nesne (Object)” ve “Movie
Clip” olarak iki ye ayrılır.
Nesne (Object) veri türleri:
Actionscript ile nesne kullanımını detaylı olarak daha ilerde
anlatacağım, ancak şimdiden bir kulak dolgunluğu olmasında fayda
görüyorum.
Bir
nesne, içerisinde “kendisine ait” değişkenleri, fonksiyonları,
tanımlamaları barındıran ve kendisine verilen görevi yapmak için
bunları kullanan taşıyıcılardır. Her nesne, kendisini oluşturan
sınıfın bir örneği olarak adlandırılır ve o sınıfın tüm
özelliklerini taşımaktadır.
Sınıflar, kendilerine yüklenen görevleri yerine
getirmek için yaratılmış özel türlerdir. Herhangi bir sınıfı
actionscript içerisinde kullanmak için o sınıfın türünden bir
“Nesne” yaratmak gerekir. Tıpkı bir movieclip nesnesinde olduğu
gibi.
Diğer veri türleri ve veri türleri arası
dönüşüm
Tanımsız: Daha önce tanımlanmamış, ya da “var”
anahtar sözcüğü ile tanımlanmış ancak herhangi bir değer atanmamış
değişkenleri kullanmak istediğimizde “tanımsız” anlamına gelen “undefined”
işaretidir.
var isim;
trace(isim); //undefined
yazacaktır.
if (isim ==
undefined)
{
trace(“Tanımlanmamış
değişken”);
}
boş (null): “null” işareti, aynı undefined’ de
olduğu gibi bir değişlenin tanımlanıp tanımlanmadığını ya da
tanımlandığı halde değer atanıp atanmadığını kontrol etmek amacı ile
kullanılır.
Null kullanımında bilinmesi gereken tek nokta,
undefined Actionscript yorumlayıcısı tarafından döndürülen bir değer
olmasına rağmen, null’ un actionscript yorumlayıcısı tarafından
döndürülen bir değer olmamasıdır.
NaN (sayı değil): Daha önce sayısal veri
türlerinde anlattığımız isNaN() fonksiyonundan da hatırlayacağınız
üzere, NaN işareti bir değişkenin değerinin sayı olmaması durumunda
görülür.
Örneğin, string bir veri ile sayısal bir veriyi
matematiksel işleme soktuğunuzda, geri dönen değer NaN olacaktır.
var isim =
“hakan”;
var sayi = 5;
var nonNumeric =
isim * sayi;
trace(nonNumeric);
//NaN yazacaktır.
VERİ TÜRLERİ ARASI DÖNÜŞÜM:
Pek çok kez, farklı türden iki veri ile işlem
yapmamız gerekebilir. Bu gibi durumlarda sonucun istenmeyen bir
değer olmaması için iki verinin en az birisinin diğeri cinsine
çevrilmesi gerekir.
Actionscript bize aşağıdaki tür dönüşümlerini sunar;
-
Boolean – string ya da sayısal veriye
-
Sayısal – string ya da boolean veriye
-
String – sayısal ya da boolean veriye
Dönüştürülebilmektedir.
Boolean veri türüne dönüşüm:
Boolean() fonksiyonu, parametre olarak girilen string
ya da sayı verileri boolean türüne çevirmek için kullanılır.
Boolean(veri);
Şeklinde kullanılmaktadır. “veri” parametresi için
dönüşümler;
-
Boolean ise, kendisi
-
Sayısal bir veri ise, 0 için false diğer tüm
sayılar için true
-
String bir veri ise, string’in boş olması durumunda
false, diğer durumlarda true
-
Undefined ise, false
-
MovieClip ya da bir nesne referansı ise, true
Şeklinde olmaktadır.
Sayısal veri türüne dönüşüm:
Number() fonksiyonu, parametre olarak aldığı veriyi
sayısal veri türüne çevirmek için kullanılır.
Number(veri);
Şeklinde kullanılmaktadır. “veri” parametresi için
dönüşümler;
-
Boolean ise, false için 0 true için 1
-
Sayısal ise, kendisi
-
String ise, string sadece sayısal karakterlerden
oluşursa sayı diğer tüm durumlarda NaN
-
Tanımsız ise, NaN
Şeklinde olmaktadır.
String veri türüne dönüşüm:
String() fonksiyonu, parametre olarak aldığı veriyi
string veri türüne çevirmek için kullanılır.
String(veri);
Şeklinde kullanılmaktadır. “veri” parametresi için
dönüşümler;
-
Boolean ise, true için “true” false için “false” (string)
-
Sayısal bir değer ise, sayının kendisi (string
olarak)
-
String ise, kendisi
-
Tanımsız ise, undefined
-
Movie Clip ise, movieclip’ in hedef yolu string
olarak dönecektir.
Veri türünün öğrenilmesi:
typeof() fonksiyonu ile, değişkenlerin taşıdığı veri
türünü öğrenebilir, ve buna göre işlem yapabiliriz.
typeof(degisken);
şeklinde kullanılmaktadır. Fonksiyonun döndüreceği
değerler;
-
String veri türü için, “string”
-
Sayısal veri türü için, “number”
-
Nesne veri türü için, “object”
-
Movieclip referansı için, “movieclip”
-
Fonksiyon adı için, “function”
-
Boolean veri türü için, “boolean”
-
Tanımsız ise, “undefined”
Olacaktır.
Örneğin;
var sayi = 20;
trace(typeof(sayi)); //çıktısı ”number” olacaktır.
Evet veri türlerinin tanıtımını bu yazımızla
bitirmiş oluyoruz. Gelecek yazımızda actionscript ile değişkenlerin
tanımlanması, kullanımı ve operatörler konularına değineceğiz.
|