関数1

090705-one31

asに限らず、いろいろなプログラムで使われる関数。
正式には関数クロージャと呼ばれるみたい。

  1. 関数とは「何らかの作業を実行する個別の命令セット」。
  2. クラスやオブジェクトから独立しているもののことを言うらしい。
  3. 関数は「function」キーワードで定義する。
  4. 呼び出しにはカッコ演算子を使う。
  5. 関数を作成するには、「メソッド内」「パッケージ定義内」
    「パッケージ定義外」「別の関数内に直接」に記述する。
  6. 直接クラス本体内にあると、それは関数ではなくインスタンスメソッドになる。

なんとなく理解できそう・・・。

関数の記述方法は以下の通り。

[as3]
function identifier(param1 , param2 , param3 … paramn){
//プログラムコード
}
[/as3]

※identifierは関数の名称。

関数の呼び出し方法は以下の通り。

[as3]
theFunction(value1 , value2 , value3 … valuen);
[/as3]

※theFunctionは関数の名称。

パッケージレベルの関数

パッケージで関数を使う場合は、関数定義をパッケージ本体内に直接記述する。

パッケージ内からのみ使える関数

[as3]
package packageName(){
internal function identifier(){
//関数のプログラム
//※アクセス制御指定子internalをつける。
}
}
[/as3]

プログラム全体から使える関数

[as3]
package packageName(){
public function identifier(){
//関数のプログラム
//※アクセス制御指定子publicをつける。
}
}
[/as3]

アクセス制御指定子をつけないと自動的にinternalになり、
パッケージ内からのみ使えるようになる。

グローバル関数

名前のないパッケージのパッケージレベルで定義した関数は、
「import」ステートメントを使わなくてもプログラム全体から
グローバルに参照することができることから、
グローバル関数と呼ばれる。

パッケージ名の無い関数例

[as3]
package{
import flash.system.*;
public function isIteru(){
return Capabilities.os = "iteru"
//OSがiteruか確認する。そんなのないけど。
}
}
[/as3]

パッケージ名の無い関数使用例

[as3]
package setup{
public class WelCome{
public function WelCome(){
//isIteruの使用
if( isIteru() ){
//iteru特有のプログラムを実行する
}
}
}
}
[/as3]

それとも、isIteruをインポートしなくてもいいってこと・・・。かな。

Flashランタイムにはそれぞれ多くのパッケージレベルの関数や
グローバル関数があらかじめ組み込まれているらしい。

もっとも使うであろうグローバル関数は「trace」。
traceは特にインポートしてなくても使えてるので、
そういった関数を、package名無しで作れば、自作できるってことかと。

今日はここまで。

詳説 ActionScript 3.0
詳説 ActionScript 3.0
  • 発売元: オライリージャパン
  • 価格: ¥ 6,090
  • 発売日: 2008/11/22
  • 売上ランキング: 69005
  • おすすめ度 5.0