Difference between revisions of "Control de flujo de ejecución"

From El Mago del Rust
Jump to navigation Jump to search
(Created page with "Las dos estructuras más importantes para el control del flujo de ejecución son los lazos y la expresión <code>if</code>: =Expresiones <code>if</code>= Muy similar a otros...")
 
Line 15: Line 15:
</syntaxhighlight>
</syntaxhighlight>


La expresión a evaluar debe ser de tipo <code>bool</code>, de lo contrario producirá un  
La expresión a evaluar debe ser de tipo <code>bool</code>, de lo contrario producirá un [[Errores_de_compilación#Errores_en_el_uso_de_las_variables|error 308]].
El <code>else</code> es opcional.
 
El <code>else</code> es opcional, y se pueden colocar varias expresiones <code>if/else</code> en cascada:
<syntaxhighlight lang="rust" line='line' highlight="1">
fn main() {
    let a = 5;
    if a == 10 {
        println!("la variable es 10");
    }else if a == 4 {
        println!("la variable es 4");
    }else if a == 7 {
        println!("la variable es 7");
    }else {
        println!("la variable no es ni 10, 4 ni 7");
    }
}
</syntaxhighlight>
 
Si debes poner muchos <code>if/else</code> en cascada, lo mejor sería usar un [[match]].

Revision as of 23:26, 14 February 2021

Las dos estructuras más importantes para el control del flujo de ejecución son los lazos y la expresión if:

Expresiones if

Muy similar a otros lenguajes, se evalúa si es falso o verdadero una expresión. En este caso se evalúa si una variable es menor a 10 o no:

 fn main() {
     let a = 5;
     if a < 10 {
         println!("la expresión es verdadera");
     }else {
         println!("la exprexión es false");
     }
 }

La expresión a evaluar debe ser de tipo bool, de lo contrario producirá un error 308.

El else es opcional, y se pueden colocar varias expresiones if/else en cascada:

 fn main() {
     let a = 5;
     if a == 10 {
         println!("la variable es 10");
     }else if a == 4 {
         println!("la variable es 4");
     }else if a == 7 {
         println!("la variable es 7");
     }else {
         println!("la variable no es ni 10, 4 ni 7");
     }
 }

Si debes poner muchos if/else en cascada, lo mejor sería usar un match.