したがって、特定の条件が満たされたときに呼び出される関数を収集する場所を作成したいと思います。例えば。actionscriptの配列内の関数の収集と特定
function doSomething(someArg:Object):void {
if (conditionIsFalse){
operationsToDoWhenConditionIsTrue.push(function(){
doSomething(someArg);
});
}
}
function onConditionBecomingTrue():void {
while (operationsToDoWhenConditionIsTrue.length > 0){
operationsToDoWhenConditionIsTrue.shift()();
}
}
これまでのところとても良いです。しかし、ある時点で、operationsToDoWhenConditionIsTrueを繰り返し、関数を識別して置き換えたいと思っています。 doSomethingのメソッド内の擬似コードでは、次のようになります。doSomethingのが2回呼び出された場合
function doSomething(someArg:Object):void {
if (conditionIsFalse){
for (var i:int = 0; i<operationsToDoWhenConditionIsTrue; i++){
// pseudo code here
if (typeof operationsToDoWhenConditionIsTrue[i] == doSomething){
operationsToDoWhenConditionIsTrue[i] = doSomething(someArg);
}
}
}
}
は基本的に、私は唯一のoperationsToDoWhenConditionIsTrueが最新の呼び出しを保持します。明らかに、呼び出しはfunction(){}でラップされているので、すべての関数は同じです。私が欲しいものを達成できる方法はありますか?
同一の操作を識別する基準は何ですか?操作は異なるdoSomething関数(つまり、それぞれの間に1-1のマッピング)で識別されますか? – outis
うわー、私は今あなたのタイプコードを取り除くだけで、私の擬似コードは一種のものだと認識しています。 – pondermatic