mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-24 01:51:38 +00:00
Fix mistakes in rust
This commit is contained in:
parent
970aff0dad
commit
ceb6b37b63
@ -176,7 +176,7 @@ fn main() {
|
|||||||
println!("{}", a_foo.get_bar()); // 1
|
println!("{}", a_foo.get_bar()); // 1
|
||||||
|
|
||||||
// Traits (connu sous le nom des interfaces ou des classes de types dans
|
// Traits (connu sous le nom des interfaces ou des classes de types dans
|
||||||
// d'elses langues).
|
// d'autres langues).
|
||||||
|
|
||||||
trait Frobnicate<T> {
|
trait Frobnicate<T> {
|
||||||
fn frobnicate(self) -> Option<T>;
|
fn frobnicate(self) -> Option<T>;
|
||||||
@ -264,18 +264,18 @@ fn main() {
|
|||||||
// Pointeur occasion - une seule chose peut "posséder" pointeur à un moment.
|
// Pointeur occasion - une seule chose peut "posséder" pointeur à un moment.
|
||||||
// Cela signifie que lorsque le `Box` laisse son champ d'application, il
|
// Cela signifie que lorsque le `Box` laisse son champ d'application, il
|
||||||
// peut être automatiquement libérée en toute sécurité.
|
// peut être automatiquement libérée en toute sécurité.
|
||||||
let mut mien: Box<i32> = Box::new(3);
|
let mut mine: Box<i32> = Box::new(3);
|
||||||
*mien = 5; // déréférencer
|
*mine = 5; // déréférencer
|
||||||
// Ici, `now_its_mine` prend possession de` mine`. En d'elses termes,
|
// Ici, `now_its_mine` prend possession de `mine`. En d'autres termes,
|
||||||
// `mien` est déplacé.
|
// `mine` est déplacé.
|
||||||
let mut now_its_mine = mien;
|
let mut now_its_mine = mine;
|
||||||
*now_its_mine += 2;
|
*now_its_mine += 2;
|
||||||
|
|
||||||
println!("{}", now_its_mine); // 7
|
println!("{}", now_its_mine); // 7
|
||||||
// println!("{}", de la mine); // Cela ne compile pas parce
|
// println!("{}", now_its_mine); // Cela ne compile pas parce
|
||||||
// que `now_its_mine` possède maintenant le pointeur
|
// que `now_its_mine` possède maintenant le pointeur
|
||||||
|
|
||||||
// Référence - un pointeur immutable qui fait référence à d'elses données.
|
// Référence - un pointeur immutable qui fait référence à d'autres données.
|
||||||
// Quand une référence est prise à une valeur, nous disons que la valeur
|
// Quand une référence est prise à une valeur, nous disons que la valeur
|
||||||
// a été "emprunté".
|
// a été "emprunté".
|
||||||
// Même si une valeur est emprunté immutablement, il ne peut pas être
|
// Même si une valeur est emprunté immutablement, il ne peut pas être
|
||||||
@ -285,22 +285,22 @@ fn main() {
|
|||||||
var = 3;
|
var = 3;
|
||||||
let ref_var: &i32 = &var;
|
let ref_var: &i32 = &var;
|
||||||
|
|
||||||
println!("{}", var); // Contrairement `mien`, `var` peut encore être utilisé
|
println!("{}", var); // Contrairement à `mine`, `var` peut encore être utilisé
|
||||||
println!("{}", *ref_var);
|
println!("{}", *ref_var);
|
||||||
// Var = 5; // Cela ne compile pas parce que `var` est emprunté.
|
// Var = 5; // Cela ne compile pas parce que `var` est emprunté.
|
||||||
// *ref_var = 6; // Ce ne serait pas non plus, parce que `ref_var` est une
|
// *ref_var = 6; // Ce ne serait pas correct non plus, parce que `ref_var` est une
|
||||||
// référence immutable.
|
// référence immutable.
|
||||||
|
|
||||||
// Référence Mutable
|
// Référence Mutable
|
||||||
// Même si une valeur est mutably emprunté, il ne peut pas être
|
// Même si une valeur est empruntée de façon mutable, elle ne peut pas être
|
||||||
// accessible à tous.
|
// accessible à tous.
|
||||||
let mut var2 = 4;
|
let mut var2 = 4;
|
||||||
let ref_var2: &mut i32 = &mut var2;
|
let ref_var2: &mut i32 = &mut var2;
|
||||||
// '*' est utilisé pour pointer vers le var2 mutably emprunté.
|
// '*' est utilisé pour pointer vers le var2 mutably emprunté.
|
||||||
*ref_var2 += 2;
|
*ref_var2 += 2;
|
||||||
|
|
||||||
println!("{}", * ref_var2); // 6, // var2 ne serait pas compiler.
|
println!("{}", * ref_var2); // 6, // var2 ne compilerait pas.
|
||||||
// ref_var2 est de type &mut i32 donc stocke il référence à i32,
|
// ref_var2 est de type &mut i32 donc stocke la référence à i32,
|
||||||
// pas la valeur.
|
// pas la valeur.
|
||||||
// var2 = 2; // Cela ne compile pas parce que `var2` est emprunté.
|
// var2 = 2; // Cela ne compile pas parce que `var2` est emprunté.
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user