Skip to content
Snippets Groups Projects
Commit dcca66e3 authored by orestis.malaspin's avatar orestis.malaspin
Browse files

Merge branch 'add_rustlings' into 'main'

Add rustlings in each chapter

See merge request orestis.malaspin/rust-101!52
parents c03867d5 cf8b25a1
Branches
No related tags found
No related merge requests found
...@@ -114,4 +114,31 @@ println!("{1} {0}", "abc", "def"); ...@@ -114,4 +114,31 @@ println!("{1} {0}", "abc", "def");
Affichera `def abc`. Affichera `def abc`.
## Rustlings
Les rustlings à faire dans ce chapitre sont les suivants:
### Introduction
```bash
$ rustlings run intro1
$ rustlings run intro2
```
### Les variables
```bash
$ rustlings run variables1
$ rustlings run variables2
$ rustlings run variables3
$ rustlings run variables4
$ rustlings run variables5
```
### Les types primitifs
```bash
$ rustlings run primitive_types1
$ rustlings run primitive_types2
$ rustlings run primitive_types3
```
\ No newline at end of file
...@@ -253,3 +253,32 @@ fn main() { ...@@ -253,3 +253,32 @@ fn main() {
println!("The minimal value is: {min}"); println!("The minimal value is: {min}");
} }
``` ```
## Rustlings
Les rustlings à faire dans ce chapitre sont les suivants:
### Les `if`s
```bash
$ rustlings run if1
$ rustlings run if2
$ rustlings run if3
```
### Les fonctions
```bash
$ rustlings run functions1
$ rustlings run functions2
$ rustlings run functions3
$ rustlings run functions4
$ rustlings run functions5
```
### Quiz
```bash
$ rustlings run quiz1
```
...@@ -241,3 +241,24 @@ fn main() { ...@@ -241,3 +241,24 @@ fn main() {
NumberOrNothing::print(nothing); NumberOrNothing::print(nothing);
} }
``` ```
## Rustlings
Les rustlings à faire dans ce chapitre sont les suivants:
### Les types énumérés
```bash
$ rustlings run enums1
$ rustlings run enums2
$ rustlings run enums3
```
### La structures
```bash
$ rustlings run structs1
$ rustlings run structs2
$ rustlings run structs3
```
...@@ -273,3 +273,25 @@ impl Clone for MyStruct { ...@@ -273,3 +273,25 @@ impl Clone for MyStruct {
```rust ```rust
{{#rustdoc_include ../../codes/rust_lang/part03/src/main.rs:main}} {{#rustdoc_include ../../codes/rust_lang/part03/src/main.rs:main}}
``` ```
## Rustlings
Les rustlings à faire dans ce chapitre sont les suivants:
### Les traits
```bash
$ rustlings run traits1
$ rustlings run traits2
$ rustlings run traits3
$ rustlings run traits4
$ rustlings run traits5
```
### Les tuples
```bash
$ rustlings run primitive_types5
$ rustlings run primitive_types6
```
\ No newline at end of file
...@@ -189,3 +189,17 @@ le vérificateur de type du Rust ne laisse pas passer ce genre de choses. ...@@ -189,3 +189,17 @@ le vérificateur de type du Rust ne laisse pas passer ce genre de choses.
{{#rustdoc_include ../../codes/rust_lang/part04/src/main.rs:main}} {{#rustdoc_include ../../codes/rust_lang/part04/src/main.rs:main}}
``` ```
## Rustlings
Les rustlings à faire dans ce chapitre sont les suivants:
### La `move semantic`
```bash
$ rustlings run move_semantics1
$ rustlings run move_semantics2
$ rustlings run move_semantics3
$ rustlings run move_semantics4
$ rustlings run move_semantics5
$ rustlings run move_semantics6
```
\ No newline at end of file
...@@ -199,3 +199,16 @@ struct Point { ...@@ -199,3 +199,16 @@ struct Point {
pub y: f32, pub y: f32,
} }
``` ```
## Rustlings
Les rustlings à faire dans ce chapitre sont les suivants:
### Les modules
```bash
$ rustlings run modules1
$ rustlings run modules2
$ rustlings run modules3
```
...@@ -303,3 +303,24 @@ et en général d'éviter certaines mauvaises pratiques et/ou de simplifier ...@@ -303,3 +303,24 @@ et en général d'éviter certaines mauvaises pratiques et/ou de simplifier
le code avec des *patterns* connus. le code avec des *patterns* connus.
Comme ci-dessus, prenez ce code et exécutez la commande `cargo clippy` pour voir les recommandations du linter. Comme ci-dessus, prenez ce code et exécutez la commande `cargo clippy` pour voir les recommandations du linter.
## Rustlings
Les rustlings à faire dans ce chapitre sont les suivants:
### Les modules
```bash
$ rustlings run tests1
$ rustlings run tests2
$ rustlings run tests3
$ rustlings run tests4
```
### Clippy
```bash
$ rustlings run clippy1
$ rustlings run clippy2
$ rustlings run clippy3
```
...@@ -389,3 +389,27 @@ Ces deux fonctions font strictement la même chose. L'opérateur agit comme un s ...@@ -389,3 +389,27 @@ Ces deux fonctions font strictement la même chose. L'opérateur agit comme un s
d'allèger l'écriture du code et ainsi augmenter sa lisibilité. En clair, si le résultat est `Ok(val)`, d'allèger l'écriture du code et ainsi augmenter sa lisibilité. En clair, si le résultat est `Ok(val)`,
l'expression retourne `val`, sinon la fonction se termine ici et retourne le résultat `Err(error)` contenu l'expression retourne `val`, sinon la fonction se termine ici et retourne le résultat `Err(error)` contenu
dans le résultat. dans le résultat.
## Rustlings
Les rustlings à faire dans ce chapitre sont les suivants:
### La gestion des erreurs
```bash
$ rustlings run errors1
$ rustlings run errors2
$ rustlings run errors3
$ rustlings run errors4
$ rustlings run errors5
$ rustlings run errors6
```
### Les options
```bash
$ rustlings run options1
$ rustlings run options2
$ rustlings run options3
```
...@@ -538,3 +538,13 @@ Dans un ordre aléatoire: ...@@ -538,3 +538,13 @@ Dans un ordre aléatoire:
* Ajoutez une fonction `remove(i)` permettant d'enlever le `i`-ème élément de la liste, * Ajoutez une fonction `remove(i)` permettant d'enlever le `i`-ème élément de la liste,
* Ajoutez une fonction `insert(i, data)` permettant d'ajouter `data` à la `i`-ème place dans la liste, * Ajoutez une fonction `insert(i, data)` permettant d'ajouter `data` à la `i`-ème place dans la liste,
* Ajouter les fonctions permettant d'itérer sur la liste en implémentant les trait `Iter` et `IntoIter`. * Ajouter les fonctions permettant d'itérer sur la liste en implémentant les trait `Iter` et `IntoIter`.
## Rustlings
Les rustlings à faire dans ce chapitre sont les suivants:
### Les `Box`
```bash
$ rustlings run box1
```
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment