Tutoriales

Rust Fundamentals Series #6: Uso de If Else

En el artículo anterior de esta serie, aprendiste sobre las funciones. En este artículo, veamos el uso de declaraciones condicionales para administrar el flujo de control de los programas de Rust.

¿Qué son las declaraciones condicionales?

Al escribir algún código, una de las tareas más comunes es realizar una verificación de alguna condición. true o false«Si la temperatura es superior a 35°C, encienda el aire acondicionado».

Mediante el uso de palabras clave como if y else (a veces se usa en combinación), el programador puede cambiar la funcionalidad del programa según la cantidad de argumentos proporcionados, las opciones pasadas desde la línea de comando, los nombres de los archivos, las ocurrencias de errores y más.

Por lo tanto, es crucial para un programador comprender el flujo de control en cualquier idioma, y ​​mucho menos en Rust.

operador condicional

La siguiente tabla muestra todos los operadores comunes para una sola condición:

operador ejemplo explicar
> a > b amás grande Comparar b
< a < b amenos Comparar b
== a == b aigual llegar b
!= a != b ano igual a llegar b
>= a >= b amejor que o igual llegar b
<= a <= b amenos que o igual llegar b

A continuación se muestra una tabla de operadores lógicos, que se utilizan entre una o más condiciones:

operador ejemplo explicar
|| (OR lógico) COND1 || COND2 al menos una condición COND1 o COND2 evaluado como true
&& (Y lógico) COND1 && COND2 todo La condición se evalúa como true
! (NO lógico) !COND el valor booleano opuesto de what COND evaluado como

📋

Al igual que en matemáticas, puede usar paréntesis (paréntesis) para especificar la precedencia de una operación en relación con otras operaciones.

usar si más

Para manejar el flujo básico del código Rust, se utilizan dos palabras clave: if y elseEsto le ayuda a crear dos "caminos de ejecución" en función del estado de la condición proporcionada.

La sintaxis para un bloque if simple con rutas de ejecución alternativas es la siguiente:

if condition {
    ;
} else {
    ;
}

📋

Cuando solo se proporciona una condición, no es necesario encerrarla entre paréntesis. El uso de paréntesis es opcional según la sintaxis. Aún debe usarlos para especificar la prioridad y mejorar la legibilidad.

Veamos un ejemplo.

fn main() {
    let a = 36;
    let b = 25;

    if a > b {
        println!("a is greater than b");
    } else {
        println!("b is greater than a");
    }
}

Aquí, declaro dos variables enteras a y b Los valores son "36" y "25".En la línea 5, verifico si el valor almacenado en la variable es a mayor que el valor almacenado en la variable bSi la condición se evalúa como true, se ejecutará el código de la línea 6.Si la condición se evalúa como falseya que tenemos un else bloque (opcional), se ejecutará el código de la línea 8.

Verifiquemos esto mirando la salida del programa.

a is greater than b

¡perfecto!

Modifiquemos el valor de la variable. a menos que valor variable b mira qué pasa.cambiaré atiene un valor de "10". Aquí está el resultado de esta modificación:

b is greater than a

Pero, ¿y si almaceno el mismo valor en una variable? a y b? Para ver esto, puse el valor de ambas variables en "40". Aquí está el resultado de esta modificación en particular:

b is greater than a

¿eh? Lógicamente, esto no tiene ningún sentido... 🙁

¡Pero esto se puede mejorar! sigue leyendo.

Utilice la condición 'si no'

Como cualquier otro lenguaje de programación, puede reemplazar el else if bloque para proporcionar más de dos rutas de ejecución. La sintaxis es la siguiente:

if condition {
    ;
} else if condition {
    ;
} else {
    ;
}

Ahora, usando un else if bloque, puedo mejorar la lógica de mi programa. A continuación se muestra el programa modificado.

fn main() {
    let a = 40;
    let b = 40;

    if a == b {
        println!("a and b are equal");
    } else if a > b {
        println!("a is greater than b");
    } else {
        println!("b is greater than a");
    }
}

Ahora, la lógica de mi programa es correcta. Ya maneja todos los casos extremos (que se me ocurran).requisito es a igual b Procesado en la línea 5. condición donde a puede ser mayor que b Se procesa en la línea 7.Y, la condición es a menos que b esencialmente por else Bloque en la línea 9.

Ahora, cuando ejecuto este código, obtengo el siguiente resultado:

a and b are equal

¡Ahora es perfecto!

Ejemplo: encontrar el mayor

sé usar if y else Bastante simple, pero veamos un programa más. Esta vez, comparemos tres números. ¡En este caso también usaría operadores lógicos!

fn main() {
    let a = 73;
    let b = 56;
    let c = 15;

    if (a != b) && (a != c) && (b != c) {
        if (a > b) && (a > c) {
            println!("a is the greatest");
        } else if (b > a) && (b > c) {
            println!("b is the greatest");
        } else {
            println!("c is the greatest");
        }
    }
}

Esto puede parecer complicado a primera vista, pero no temas, ¡déjame explicarte!

Inicialmente, declaré tres variables. a, b y c Con un valor tan aleatorio como pude pensar en ese momento. Luego, en la línea 6, compruebo la condición de que ninguna variable tenga el mismo valor que cualquier otra variable.Primero, compruebo el valor de a y bEntonces a y c y luego b y cpara que pueda estar seguro de que no se almacenan valores duplicados en ninguna de las variables.

Luego, en la línea 7, verifico si el valor almacenado en la variable es a Es lo mas grandioso.Si la condición se evalúa como true, se ejecuta el código de la línea 8. De lo contrario, verifique la ruta de ejecución en la línea 9.

En la línea 9 compruebo si el valor almacenado en la variable es b Es lo mas grandioso.Si esta condición se evalúa como true, se ejecuta el código de la línea 10.Si este también es el caso false, entonces solo significa una cosa.ninguna variable ani variables b es el mayor de los 3

Entonces, naturalmente, en else bloque, imprimo la variable c tienen el mayor valor.

Verifiquemos esto con la salida del programa:

a is the greatest

Esto es de esperar. ¡Prueba a modificar los valores asignados a cada variable y pruébalo tú mismo! 🙂

en conclusión

Aprendiste a usar declaraciones if y else. Antes de pasar a crear su propia IA con declaraciones if else-if faltantes (lol), aprendamos sobre los bucles en Rust en el próximo capítulo de esta serie.

Manténganse al tanto.

LEER  La versión principal de Linux más grande de todos los tiempos marca el comienzo del sistema de archivos bcachefs, Jettisons Itanium

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba