Problema al utilizar el operador ... en Rust

Publicado por Brisa
hace 2 meses

Buenas tardes a todos,

Estoy teniendo un problema al intentar utilizar el operador "..." en Rust. Estoy trabajando en un proyecto donde necesito generar un rango de números de forma automática, pero cuando intento utilizar el operador "..." en el bucle for, me arroja un error de compilación.

Aquí está el código que estoy utilizando:

fn main() {
    for i in 0...10 {
        println!("{}", i);
    }
}

Y aquí está el error que estoy recibiendo:

error: the `...` range operator is not supported
 --> src/main.rs:2:14
  |
2 |     for i in 0...10 {
  |              ^^^

He buscado en la documentación oficial de Rust y no he encontrado ninguna referencia a este operador no soportado. También he intentado utilizar el operador de rango .. pero obtengo el mismo error.

¿Alguien podría explicarme por qué ocurre este error y cómo puedo solucionarlo?

¡Muchas gracias!

rust
Respuesta de Gordon Shumway
hace 2 meses

¡Hola Brisa!

El problema que estás enfrentando es debido a que estás utilizando un operador de rango que no existe en Rust. En Rust, el operador de rango que deberías utilizar es .. para rangos exclusivos (donde el último valor no se incluye) o ..= para rangos inclusivos (donde el último valor sí se incluye).

Corrigiendo tu código, debería verse así si querés un rango exclusivo (0 a 9):

fn main() {
    for i in 0..10 {
        println!("{}", i);
    }
}

O, si necesitás un rango inclusivo (0 a 10), utilizarías ..=:

fn main() {
    for i in 0..=10 {
        println!("{}", i);
    }
}

¡Espero que eso solucione tu problema! Si tienes cualquier otra duda, aquí estamos para ayudarte. ¡Éxito con tu proyecto en Rust!