Bir dilin sözdizimi, çalıştırılabilir kod yazarken izlenmesi gereken kurallar kümesini tanımlar.
Büyük/küçük harf duyarlılığı
ActionScript 3.0, büyük/küçük harf duyarlı bir dildir. Yalnızca büyük/küçük harf durumu farklı olan tanımlayıcılar, farklı tanımlayıcılar olarak değerlendirilir. Örneğin, aşağıdaki kod iki farklı değişken oluşturur:
var num1:int;
var Num1:int;
Nokta sözdizimi
Nokta operatörü (
.
), bir nesnenin özelliklerine ve yöntemlerine erişme yolu sağlar. Nokta sözdizimini kullanıp sırayla örnek adı, nokta operatörü ve özellik veya yöntem adını kullanarak bir sınıf özelliğini ya da yöntemini ifade edebilirsiniz. Örneğin, şu sınıf tanımını göz önünde bulundurun:
class DotExample
{
public var prop1:String;
public function method1():void {}
}
Nokta sözdizimini kullanıp aşağıdaki kodda oluşturulan örnek adını kullanarak
prop1
özelliğine ve
method1()
yöntemine erişebilirsiniz:
var myDotEx:DotExample = new DotExample();
myDotEx.prop1 = "hello";
myDotEx.method1();
Paketleri tanımlarken nokta sözdizimini kullanabilirsiniz. Yuvalanmış paketleri ifade etmek için nokta operatörünü kullanırsınız. Örneğin, EventDispatcher sınıfı, flash adındaki paket içinde yuvalanmış events adındaki bir pakette bulunur. Aşağıdaki ifadeyi kullanarak events paketini ifade edebilirsiniz:
flash.events
Bu ifadeyi kullanarak da EventDispatcher sınıfını ifade edebilirsiniz:
flash.events.EventDispatcher
Eğik çizgi sözdizimi
Eğik çizgi sözdizimi ActionScript 3.0'da desteklenmez. Eğik çizgi sözdizimi, bir film klibinin veya değişkenin yolunu belirtmek için önceki ActionScript sürümlerinde kullanılırdı.
Değişmez değerler
Değişmez değer
, doğrudan kodunuzda görüntülenen bir değerdir. Aşağıdaki örneklerin tümü değişmezdir:
17
"hello"
-3
9.4
null
undefined
true
false
Değişmez değerler, bileşik değişmez değerler oluşturmak için de gruplandırılabilir. Dizi değişmezleri, köşeli ayraç karakterleri (
[]
) içine alınır ve dizi öğelerini ayırmak için virgül kullanır.
Dizi değişmezi, bir diziyi başlatmak için kullanılabilir. Aşağıdaki örnekler, dizi değişmezleri kullanılarak başlatılan iki diziyi gösterir.
new
deyimini kullanabilir ve bileşik değişmezini parametre olarak Array sınıfı yapıcısına iletebilirsiniz, ancak ayrıca, değişmez değerlerini şu ActionScript çekirdek sınıflarının örneklerini başlatırken doğrudan da atayabilirsiniz: Object, Array, String, Number, int, uint, XML, XMLList ve Boolean.
// Use new statement.
var myStrings:Array = new Array(["alpha", "beta", "gamma"]);
var myNums:Array = new Array([1,2,3,5,8]);
// Assign literal directly.
var myStrings:Array = ["alpha", "beta", "gamma"];
var myNums:Array = [1,2,3,5,8];
Değişmez değerler, genel bir nesneyi başlatmak için de kullanılabilir. Genel bir nesne, Object sınıfının bir örneğidir. Nesne değişmezleri küme parantezi (
{}
) içine alınır ve nesne özelliklerini ayırmak için virgül kullanır. Her özellik, özellik adını özelliğin değerinden ayıran iki nokta karakteri (
:
) ile bildirilir.
new
deyimini kullanarak genel bir nesne oluşturabilir ve nesne değişmezini parametre olarak Object sınıfı yapıcısına iletebilir veya nesne değişmezini, bildirdiğiniz örneğe doğrudan atayabilirsiniz. Aşağıdaki örnek, yeni bir genel nesne oluşturup her biri sırayla 1, 2 ve 3 değerlerine ayarlanmış üç özellikle (
propA
,
propB
ve
propC
) nesneyi başlatmanın iki alternatif yolunu gösterir:
// Use new statement and add properties.
var myObject:Object = new Object();
myObject.propA = 1;
myObject.propB = 2;
myObject.propC = 3;
// Assign literal directly.
var myObject:Object = {propA:1, propB:2, propC:3};
Noktalı virgüller
Bir deyimi sonlandırmak için noktalı virgül karakterini (
;
) kullanabilirsiniz. Alternatif olarak, noktalı virgül karakterini çıkarırsanız, derleyici, her kod satırının tek bir deyimi temsil ettiğini varsayar. Programcıların çoğu deyim sonunu belirtmek için noktalı virgül kullanmaya alışkın olduğundan, deyimlerinizi sonlandırmak için sürekli olarak noktalı virgül kullanırsanız, kodunuzun okunması daha kolay olabilir.
Bir deyimi sonlandırmak için noktalı virgül kullanmanız, tek bir satıra birden çok deyim yerleştirmenize olanak sağlar ancak bu, kodunuzun okunmasını güçleştirebilir.
Parantezler
ActionScript 3.0'da parantezleri (
()
) üç şekilde kullanabilirsiniz. İlk olarak, bir ifadedeki işlemlerin sırasını değiştirmek için parantezleri kullanabilirsiniz. Parantezler içinde gruplandırılan işlemler her zaman önce çalıştırılır. Örneğin, aşağıdaki kodda işlemlerin sırasını değiştirmek için parantezler kullanılmıştır:
trace(2 + 3 * 4); // 14
trace((2 + 3) * 4); // 20
İkinci olarak, aşağıdaki örnekte olduğu gibi, bir ifadeler dizisini değerlendirmek ve son ifadenin sonucunu döndürmek için virgül operatörüyle (
,
) birlikte parantezleri kullanabilirsiniz:
var a:int = 2;
var b:int = 3;
trace((a++, b++, a+b)); // 7
Üçüncü olarak, aşağıdaki örnekte gösterildiği gibi, işlevlere veya yöntemlere bir ya da daha fazla parametre iletmek için parantezleri kullanabilirsiniz, böylece
trace()
işlevine bir String değeri iletilir:
trace("hello"); // hello
Yorumlar
ActionScript 3.0 kodu, iki tür yorumu destekler: tek satırlı yorumlar ve çok satırlı yorumlar. Bu yorumlama mekanizması, C++ ve Java uygulamalarındaki yorumlama mekanizmalarına benzer. Derleyici, yorum olarak işaretlenen metni yoksayar.
Tek satırlı yorumlar, iki eğik çizgi karakteriyle (
//
) başlar ve satırın sonuna kadar devam eder. Örneğin, aşağıdaki kodda tek satırlı bir yorum bulunmaktadır:
var someNumber:Number = 3; // a single line comment
Çok satırlı yorumlar, bir eğik çizgi ve yıldız işareti (
/*
) ile başlar ve bir yıldız işareti ve eğik çizgi (
*/
) ile sona erer.
/* This is multiline comment that can span
more than one line of code. */
Anahtar sözcükler ve ayrılmış sözcükler
Ayrılmış sözcükler
, ActionScript tarafından kullanılmak üzere ayrılmış olduğundan, kodunuzda tanımlayıcılar olarak kullanamadığınız sözcüklerdir. Ayrılmış sözcükler arasında, derleyici tarafından programdan kaldırılmayan
sözlü anahtar sözcükler
yer alır. Tanımlayıcı olarak sözlü bir anahtar sözcük kullanırsanız, derleyici bir hata bildirir. Aşağıdaki tabloda, ActionScript 3.0 sözlü anahtar sözcükleri listelenmektedir.
as
|
break
|
case
|
catch
|
class
|
const
|
continue
|
default
|
delete
|
do
|
else
|
extends
|
false
|
finally
|
for
|
function
|
if
|
implements
|
import
|
in
|
instanceof
|
interface
|
internal
|
is
|
native
|
new
|
null
|
package
|
private
|
protected
|
public
|
return
|
super
|
switch
|
this
|
throw
|
to
|
true
|
try
|
typeof
|
use
|
var
|
void
|
while
|
with
|
|
|
|
Sözdizimi anahtar sözcükleri
adı verilen, tanımlayıcı olarak kullanılabilen ancak belirli bağlamlarda özel anlamı olan küçük bir anahtar sözcükleri kümesi vardır. Aşağıdaki tabloda, ActionScript 3.0 sözdizimi anahtar sözcükleri listelenmektedir.
each
|
get
|
set
|
namespace
|
include
|
dynamic
|
final
|
native
|
override
|
static
|
|
|
Ayrıca bazen
gelecekteki ayrılmış sözcükler
olarak ifade edilen birkaç tanımlayıcı da vardır. Bu tanımlayıcılardan bazıları, ActionScript 3.0 içeren yazılımlar tarafından anahtar sözcük olarak değerlendirilebilse de, bunlar ActionScript 3.0 tarafından ayrılmamıştır. Bu tanımlayıcıların çoğunu kodunuzda kullanabilirsiniz ancak bunlar sonraki dil sürümlerinde anahtar sözcük olarak görünebileceğinden, Adobe, bunları kullanmamanızı önerir.
abstract
|
boolean
|
byte
|
cast
|
char
|
debugger
|
double
|
enum
|
export
|
float
|
goto
|
intrinsic
|
long
|
prototype
|
short
|
synchronized
|
throws
|
to
|
transient
|
type
|
virtual
|
volatile
|
|
|
Sabitler
ActionScript 3.0, sabitler oluşturmak için kullanabildiğiniz
const
deyimini destekler. Sabitler, değiştirilemeyen sabit bir değere sahip özelliklerdir. Bir sabite yalnızca bir defa değer atayabilirsiniz ve atamanın, sabitin bildirimine yakın bir yerde gerçekleşmesi gerekir. Örneğin, bir sabit bir sınıfın üyesi olarak bildirilirse, bu sabite yalnızca bildirimin parçası olarak veya sınıf yapıcısının içinde bir değer atayabilirsiniz.
Aşağıdaki kod iki sabit bildirir. Birinci sabit olan
MINIMUM
, bildirim deyiminin parçası olarak atanmış bir değere sahiptir. İkinci sabit olan
MAXIMUM
, yapıcıda atanmış bir değere sahiptir. Katı mod bir sabitin değerinin yalnızca başlatma zamanında atanmasına olanak sağladığından, bu örneğin yalnızca standart modda derleme yaptığını unutmayın.
class A
{
public const MINIMUM:int = 0;
public const MAXIMUM:int;
public function A()
{
MAXIMUM = 10;
}
}
var a:A = new A();
trace(a.MINIMUM); // 0
trace(a.MAXIMUM); // 10
Bir sabite başka bir şekilde bir başlangıç değeri atamayı denerseniz bir hata oluşur. Örneğin, sınıfın dışında
MAXIMUM
başlangıç değerini ayarlamaya çalışırsanız, bir çalışma zamanı hatası oluşur.
class A
{
public const MINIMUM:int = 0;
public const MAXIMUM:int;
}
var a:A = new A();
a["MAXIMUM"] = 10; // run-time error
ActionScript 3.0, kullanmanız için çok çeşitli sabitleri tanımlar. Kural gereği, ActionScript'teki sabitlerin tümü, alt çizgi karakteri (
_
) ile ayrılmış sözcüklerde büyük harf kullanır. Örneğin, MouseEvent sınıfı tanımı, her biri fare girdisiyle ilgili bir olayı temsil eden sabitleri için bu adlandırma kuralını kullanır:
package flash.events
{
public class MouseEvent extends Event
{
public static const CLICK:String = "click";
public static const DOUBLE_CLICK:String = "doubleClick";
public static const MOUSE_DOWN:String = "mouseDown";
public static const MOUSE_MOVE:String = "mouseMove";
...
}
}
|
|
|