Conditionals
If
If conditions can be written as
if ( condition ) {
... expressions
}
or inline
if ( condition ) expression
Example
if(fb > fa) {
let temp = ax
ax = bx
bx = temp
temp = fa
fa = fb
fb = temp
}
If/Else
If/else can be written as
if ( condition ) {
... expressions
} else {
... expressions
}
or inline
if ( condition ) expression else expression
This can then be combined into an if/elseif/else construct
if ( condition1 ) {
... expressions
} else if ( condition2 ) {
... expressions
} else {
... expressions
}
Ternary
TO2 does not have a ternary expression, instead if and if/else are themselves an expression and have a result. I.e. it is possible to write
let a = if (b < 0) 12 else 34
where a will be the integer 12 if b < 0 is true or otherwise the integer 34.
If the else part is omitted the result becomes an Option.
let maybe_a = if (b < 0) 12
here maybe_a will be an Option<int> with the value Some(12) if b < 0 is true or None otherwise.