Sto seguendo un tutorial per HaxeFlixel che utilizza il linguaggio Haxe. Ora non ho alcuna esperienza in Haxe, ma ho deciso di sfidare il tutorial dal momento che ho esperienza in Java e Haxe come un linguaggio sembra stranamente simile a Java.Utilizzo dell'operatore di frecce in Haxe e altre domande correlate al tipo variabile
Finora, stava procedendo senza intoppi. Tuttavia, mi sono imbattuto in questo pezzo di codice e ho alcune domande:
class FSM
{
public var activeState:Void->Void;
public function new(?InitState:Void->Void):Void
{
activeState = InitState;
}
public function update():Void
{
if (activeState != null)
activeState();
}
}
Adesso ho capito che questa è una classe chiamata FSM
e ha una variabile chiamata activeState
.
Ecco le mie domande:
Qual è il tipo di
activeState
? Capirei se fosse qualcosa comeactiveState:Void
ma cosa fa il->
? È usato come un puntatore? È un puntatore vuoto che punta a un'altra variabile void?Che cosa significa il
?
prima delInitState:Void->Void
?Dopo l'istruzione if, il
activeState
viene chiamato come una funzione utilizzando le parentesi. Tuttavia,activeState
è una variabile e non una funzione. Quindi, cosa fa esattamente l'istruzione if?
anche un'altra domanda:
public var playerPos(default, null):FlxPoint;
Capisco playerPos
è un'istanza della classe FlxPoint
, ma ciò che fa la default
e null
fare?
Chiaro e conciso. Grazie! –