ActionScript3での関数ポインタの使い方
ActionScriptで関数ポインタは使えるのか?ググってみたが、ピンと来ない情報ばかりです。
Flex3のSDKリファレンスに書いていないか?と思い調べてみたら普通に書いてありました。
C言語の関数ポインタ
#include <stdio.h> void (*func[3])(int a, int b); void a(int a, int b); void b(int a, int b); void c(int a, int b); int main(int argc, char *argv[]) { int i; func[0] = a; func[1] = b; func[2] = c; for(i = 0; i < 3;i+) (*func[i])(i, i*i); return 0; } void a(int a, int b) { printf("a + b = %d",a + b); } void b(int a, int b) { printf("a - b = %d",a - b); } void c(int a, int b) { printf("a * b = %d",a * b); }
ActionScript 3で関数ポインタ?
private function a(a:int, b:int):void { trace("a + b = " + (a + b)); } private function b(a:int, b:int):void { trace("a - b = " + (a - b)); } private function c(a:int, b:int):void { trace("a * b = " + (a * b)); } var func:Array; funcArray = new Array(); funcArray.push(a); funcArray.push(b); funcArray.push(c); for(var i:int = 0; i < funcArray.length;i++) { funcArray[i](i,i*i); }