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

Merge branch 'fixes' into 'main'

different fixes

See merge request orestis.malaspin/rust-101!77
parents d4108ebe 73976add
Branches
No related tags found
No related merge requests found
...@@ -36,7 +36,7 @@ fn max<T>(a: T, b: T) -> T { ...@@ -36,7 +36,7 @@ fn max<T>(a: T, b: T) -> T {
## Vrai exemple avec générique ## Vrai exemple avec générique
```rust ```rust
// On doit dire au compilateur que T implémente "</>" // On doit dire au compilateur que T implémente "< , >"
fn max<T: PartialOrd>(a: T, b: T) -> T { fn max<T: PartialOrd>(a: T, b: T) -> T {
if a > b { a } else { b } if a > b { a } else { b }
} }
......
...@@ -61,6 +61,7 @@ impl Rectangle { // les méthodes de Rectangle se trouvent dans un bloc impl ...@@ -61,6 +61,7 @@ impl Rectangle { // les méthodes de Rectangle se trouvent dans un bloc impl
} }
fn main() { fn main() {
let rect = Rectangle { width: 10, height: 5 }; let rect = Rectangle { width: 10, height: 5 };
// Problème ?
println!("La surface de ce rectangle println!("La surface de ce rectangle
est donnée par {} et son périmètre par {}.", est donnée par {} et son périmètre par {}.",
rect.area(), rect.perimeter()); rect.area(), rect.perimeter());
...@@ -108,7 +109,7 @@ impl Rectangle { // les méthodes de Rectangle se trouvent dans un bloc impl ...@@ -108,7 +109,7 @@ impl Rectangle { // les méthodes de Rectangle se trouvent dans un bloc impl
fn main() { fn main() {
let mut rect = Rectangle {width: 10, height: 5}; // rect doit être mutable let mut rect = Rectangle {width: 10, height: 5}; // rect doit être mutable
rect.set_width(1_000_000); // pour que cette ligne compile rect.set_width(1_000_000); // pour que cette ligne compile
println!("On a modifié width. L'instance de rectanle est {:?}.", rect); println!("On a modifié width. L'instance de rectangle est {:?}.", rect);
} }
``` ```
......
...@@ -326,7 +326,7 @@ fn main() { ...@@ -326,7 +326,7 @@ fn main() {
fn main() { fn main() {
let mut y = Vec::new(); let mut y = Vec::new();
y.push(1); y.push(2); y.push(3); y.push(4); y.push(1); y.push(2); y.push(3); y.push(4);
{ { // optionnel, le compilo est smart
let mut y1 = &mut y; let mut y1 = &mut y;
y1.push(7); y1.push(7);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment