Skip to content
Snippets Groups Projects
Commit e959eb05 authored by Michaël El Kharroubi's avatar Michaël El Kharroubi :satellite:
Browse files

Merge branch 'main' into 'part04'

# Conflicts:
#   codes/rust_lang/part02/src/main.rs
parents 98766434 cd91b40e
No related branches found
No related tags found
1 merge request!8Adds part04 comments and tests
Pipeline #25295 passed
......@@ -11,6 +11,21 @@ la compilation, les types, etc, ainsi que des notions algorithmiques de base.
Les élèves recevront du matériel sur une introduction aux bases, très basiques, du Rust à étudier une semaine avant le début du cours qui sera évalué avec un QCM de 15min au début de la première séance.
## Prérequis
Pour compiler du code rust, il faut installer la chaîne de compilation et le compilateur `rustc` à l'aide de l'outil [Rustup]().
Après avoir installé la chaîne de compilation, vous pouvez également générer les résumés se trouvant dans le répertoire [book](book). Pour ce faire il faut installer
le [mdbook](https://rust-lang.github.io/mdBook/)
```bash
cargo install mdbook
```
et exécuter les commandes
```bash
cd book
mdbook build
```
## Inspiration
L'inspiration de ce cours est tirée de deux cours qui ont l'air spectaculairement bons:
......@@ -46,10 +61,11 @@ Le cours théorique est découpé comme suit:
3. Généricité et traits (Clone, Copy p.ex.).
4. Tests, documentation, outils variés (rustfmt, clippy, etc).
5. Ownership, Borrowing.
6. Gestion d'erreurs (Option, Result)
7. Collections (Vec, HashMap, etc)
8. Itérateurs, fonctions d'ordre supérieur, lambdas.
9. Smart pointeurs (Box, RefCell, etc.), mémoire.
10. CLI, I/O.
11. Unsafe Rust et FFI.
6. Modules et visibilité.
7. Gestion d'erreurs (Option, Result)
8. Collections (Vec, HashMap, etc)
9. Itérateurs, fonctions d'ordre supérieur, lambdas.
10. Smart pointeurs (Box, RefCell, etc.), mémoire.
11. CLI, I/O.
12. Unsafe Rust et FFI.
/// Rust basics:
/// - Enum types (algebraic data types)
/// - Pattern matching
/// - Panic is now useless
/// - Static function
/// In part03 we introduce `Enums` (also known as `Algebraic Data Types`), `Pattern Matching`,
/// and `Static Functions`.
enum NumberOrNothing {
Nothing,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment