haxe
разветвление
Поиск…
Синтаксис
- if ( условие ) {...}
- if ( condition ) {...} else {...}
- if ( condition ) {...} else if ( condition ) {...} else {...}
- // Скобки необязательны для операторов с одной строкой
if ( condition ) ... else if ( condition ) ... else ... - switch ( выражение ) {case pattern : ... default: ...}
- состояние ? выражение if true : выражение if false ;
замечания
Все выражения ветвления позволяют возвращать оцениваемые выражения. Это означает, что результаты ветвления могут быть присвоены переменным. В этом случае все выражения, которые могут быть оценены с помощью успешного теста условий, должны пройти унификацию типа . Если никакое else выражение не задано, тип выводится как Void .
Если / else, если / 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);
Ссылка
Тернарный оператор
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);
Ссылка
переключатель
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);
Обратите внимание , что case выражение тела никогда не провалится, так используя break выражение в этом контексте не поддерживается Haxe.
Ссылка:
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow