Come posso fare python / ruby / javascript generatori di stile in ActionScript?
-
20-09-2019 - |
Domanda
Voglio usare coroutine in ActionScript per implementare una macchina a stati.
Mi piacerebbe essere in grado di fare qualcosa di simile al seguente
function stateMachine():void
{
sendBytes(0xFFFF);
var receiveBytes:ByteArray = yield()
sendBytes(receiveBytes);
}
stateMachine.send( Socket.read() )
come in questo blog
Soluzione
Per quanto ne so, non ha Actionscript coroutine, continuazioni o qualsiasi cosa che vi darà il comportamento rilevante (chiamare una funzione senza spingere uno stack frame). Si può fingere utilizzando le variabili statiche e un switch
, ma che contrasta con l'obiettivo di utilizzare coroutine per macchine a stati. Inoltre, senza chiamate di coda (ancora solo una per ECMAScript , come coroutine quanto ne so), falsi non utilizzare lo spazio di stack costante coroutine reali fanno.
Per quanto riguarda il codice di esempio, coroutine in genere bisogno di ciclo per essere utile.
Altri suggerimenti
Bene, come su questo?
function stateMachine(socket:Socket, target:YourReceiverClass):void
{
target.sendBytes(0xFFFF);
var receiveByte:int = socket.readByte();
target.sendBytes(receiveByte);
}
stateMachine( mySocket )