Ricerca…


Sintassi

  • se ( condizione ) {...}
  • if ( condition ) {...} else {...}
  • if ( condition ) {...} else if ( condition ) {...} else {...}
  • // I bretelle sono opzionali per le istruzioni a riga singola
    se ( condizione ) ... altro se ( condizione ) ... altro ...
  • switch ( espressione ) {case pattern : ... default: ...}
  • condizione ? espressione se vera : espressione se falsa ;

Osservazioni

Tutte le espressioni ramificate consentono di restituire espressioni valutate. Ciò significa che i risultati di ramificazione possono essere assegnati alle variabili. In questo caso, tutte le espressioni che possono essere valutate da un test di condizione riuscito devono passare l'unificazione del tipo . Se nessun else è dato espressione, il tipo è dedotta per essere Void .

Se / else se / else

if (a > b) {
    trace("You win!");
} else if (a == b) {
    trace("It's a draw!");
} else {
    trace("You lose!");
}

// Assigning the evaluated expression to a variable
var message =  if (a > b) {
    "You win!";
} else if (a == b) {
    "It's a draw!";
} else {
    "You lose!";
}
trace(message);   

Riferimento

Operatore ternario

n % 2 == 0 ? trace("n is even!") : trace("n is odd!");

// Assigning the evaluated expression to a variable
var message = n % 2 == 0 ? "n is even!" : "n is odd!";
trace(message);

Riferimento

Interruttore

switch (n % 2) {
    case 0: trace("n is even!");
    case 1: trace("n is odd!");
    default: trace("I don't know!");
}

// Assigning the evaluated expression to a variable
var message = switch (n % 2) {
    case 0: "n is even!";
    case 1: "n is odd!";
    default: "I don't know!";
}
trace(message);

Nota che le espressioni del corpo del case non cadono mai , quindi l'uso dell'espressione di break in questo contesto non è supportato da Haxe.

Riferimento:



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow