Pequeño ejemplo

A continuación, se muestra un pequeño programa de ejemplo de Rust:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

El código implementa la conjetura de Collatz: se cree que el bucle terminará siempre, pero aún no se ha demostrado. Edita el código y prueba con diferentes entradas.

Puntos clave:

  • Explica que todas las variables están tipadas estáticamente. Prueba a quitar i32 para activar la inferencia de tipos. Prueba con i8 y provoca un desbordamiento de enteros en runtime.

  • Cambia let mut x por let x y discute el error del compilador.

  • Muestra cómo print! da un error de compilación si los argumentos no coinciden con la cadena de formato.

  • Muestra cómo se debe usar {} como marcador de posición para poder imprimir una expresión más compleja que una sola variable.

  • Muestra a los alumnos la biblioteca estándar y cómo buscar std::fmt, que tiene las reglas del mini-lenguaje de formato. Es importante que los alumnos se familiaricen con la búsqueda en la biblioteca estándar.

    • En un shell, rustup doc std::fmt abrirá un navegador en la documentación local de std::fmt.