diff --git a/README.md b/README.md index a517e58b904a01964412a64165d73105b72cc0df..93373ea41b16f59eb8a7925f2dca5cce28dbe57d 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/codes/rust_lang/part02/src/main.rs b/codes/rust_lang/part02/src/main.rs index eabfaa758836143b110ecb677166247c38a3c624..acf2592df7195a2497a4bfbf987baf14a33ebf3c 100644 --- a/codes/rust_lang/part02/src/main.rs +++ b/codes/rust_lang/part02/src/main.rs @@ -1,8 +1,5 @@ -/// 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,