haxe
branching
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