Frage

In Actionscript 3, wenn Sie ein optionales Argument deklarieren, indem es einen Standardwert geben, der Wert null kann nicht auf getippt Argumente verwendet werden.

function Action(Param:int=null){
    // 1184: Incompatible default value of type Null where int is expected.
}
function Action(Param:int=0){
    // No compiler errors
} 

Jede Abhilfen für dieses oder für allgemeine Zwecke Werte, die für alle Datentypen anwenden können?

War es hilfreich?

Lösung

Sie können Ihre int Nummer ändern und dann auf NaN festlegen kann, welche eine besondere Zahl ist, die ‚keine Zahl‘ bedeutet, und dies Ihren Nullzustand für eine Zahl darstellen kann.

Um zu überprüfen, ob etwas NaN ist, müssen Sie die isNaN () Funktion verwenden und nicht val == NaN, oder Sie werden nicht bekommen, was Sie erwarten.

function Action(param:Number = NaN) : void {
    trace(param);
}

Für alle anderen Objekte, können Sie sie festlegen können auf null, sondern ‚primitiv‘ Zahlen sind unterschiedlich in Actionscript behandelt.

Andere Tipps

int Variablen kann nicht null sein, das ist, warum Sie diesen Fehler erhalten, nur Typen wie Objekte verweisen null sein

Sie können stattdessen NaN als Sondernummer anstelle von null verwenden. Wenn Sie überprüfen wollen, ob etwas NaN ist mus Sie die isNaN-Funktion verwenden.

Sie können auch eine Flagge in der Methodensignatur umfassen die Parameter von int Nummer gefördert zu vermeiden, dass:

function whatever(intProvided:Boolean = false, someInt:int = 0):void
{
    if(intProvided)
        doSomeStuff();
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top