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. ...@@ -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. 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 ## Inspiration
L'inspiration de ce cours est tirée de deux cours qui ont l'air spectaculairement bons: 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: ...@@ -46,10 +61,11 @@ Le cours théorique est découpé comme suit:
3. Généricité et traits (Clone, Copy p.ex.). 3. Généricité et traits (Clone, Copy p.ex.).
4. Tests, documentation, outils variés (rustfmt, clippy, etc). 4. Tests, documentation, outils variés (rustfmt, clippy, etc).
5. Ownership, Borrowing. 5. Ownership, Borrowing.
6. Gestion d'erreurs (Option, Result) 6. Modules et visibilité.
7. Collections (Vec, HashMap, etc) 7. Gestion d'erreurs (Option, Result)
8. Itérateurs, fonctions d'ordre supérieur, lambdas. 8. Collections (Vec, HashMap, etc)
9. Smart pointeurs (Box, RefCell, etc.), mémoire. 9. Itérateurs, fonctions d'ordre supérieur, lambdas.
10. CLI, I/O. 10. Smart pointeurs (Box, RefCell, etc.), mémoire.
11. Unsafe Rust et FFI. 11. CLI, I/O.
12. Unsafe Rust et FFI.
/// Rust basics: /// In part03 we introduce `Enums` (also known as `Algebraic Data Types`), `Pattern Matching`,
/// - Enum types (algebraic data types) /// and `Static Functions`.
/// - Pattern matching
/// - Panic is now useless
/// - Static function
enum NumberOrNothing { enum NumberOrNothing {
Nothing, Nothing,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment