Skip to content
This repository was archived by the owner on May 18, 2023. It is now read-only.

Commit bb68ab3

Browse files
authored
Merge pull request #13 from Songbird0/WIP
Typo et complétion de Q/R
2 parents c99503a + b25b06e commit bb68ab3

File tree

3 files changed

+44
-34
lines changed

3 files changed

+44
-34
lines changed

docs/.gitignore

Whitespace-only changes.

rust_FAQ_Markdown/rust_FAQ.ini

Lines changed: 0 additions & 27 deletions
This file was deleted.

rust_FAQ_Markdown/rust_FAQ.md

Lines changed: 44 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -398,8 +398,8 @@ use Video;
398398

399399
Le mot-clé `pub` peut être utilisé dans *trois* contextes différents :
400400

401-
1. Au sein [et sur] des modules ;
402-
2. Au sein [et sur] des traits ;
401+
1. Au sein [et sur] des modules;
402+
2. Au sein [et sur] des traits;
403403
3. Au sein [et sur] des structures.
404404

405405
Dans un premier temps, qu'il soit utilisé sur des `mod`ules, `trait`s, ou `struct`ures, il aura toujours la même fonction : rendre public l'objet concerné.
@@ -448,7 +448,7 @@ Renvoie :
448448
Hi there !
449449
```
450450

451-
« mon_projet » est le nom porté par votre projet dans le manifest Cargo.toml.
451+
`mon_projet` est le nom porté par votre projet dans le manifest `Cargo.toml`.
452452

453453
Pour cet exemple, voici le manifest rédigé :
454454

@@ -488,7 +488,7 @@ impl A {
488488

489489
### A quoi servent les mot-clés extern crate ?
490490

491-
Les mot-clés `extern crate` permettent d'importer un paquet entier de modules dans le fichier courant, aussi appelé crate.
491+
Les mot-clés `extern crate` permettent d'importer un paquet entier de modules dans le fichier courant, aussi appelé *crate*.
492492

493493
Le principe est simple, il vous suffit seulement de créer en premier lieu un projet en mode « bibliothèque » pour réunir tous les modules que vous créerez, de créer un fichier qui accueillera le point d'entrée de votre programme, puis d'importer votre paquet.
494494

@@ -762,7 +762,7 @@ macro_rules! foo
762762
}
763763
```
764764

765-
Toutes les macros (y compris celle présentée ici) respectent une règle très importante : elles doivent toutes capturer au moins une expression pour être valide et compilées. (en l'occurrence, la regex `() => () ;`)
765+
Toutes les macros (y compris celle présentée ici) respectent une règle très importante : elles doivent toutes capturer au moins une expression pour être valides et compilées. (en l'occurrence, la regex `() => () ;`)
766766

767767
C'est donc cela, l'une des différences majeures entre une fonction/procédure et une macro : cette dernière est capable de capturer des expressions rationnelles, conserver en mémoire ce que désire le développeur, puis de les ré-utiliser dans le corps de l'une d'entre-elles.
768768

@@ -1140,7 +1140,7 @@ pub mod votre_conteneur {
11401140

11411141
Si votre problème persiste, je vous invite à vous rendre sur les forums figurant dans la rubrique programmation pour obtenir de l'aide. Présentez clairement l'erreur que le compilateur vous renvoi dans votre post.
11421142

1143-
### A quoi servent les mot-clés if let ?
1143+
### A quoi servent les mot-clés `if let` ?
11441144

11451145
La combinaison des deux mot-clés permet d'assigner, de manière concise, du contenu à une variable.
11461146

@@ -1160,7 +1160,7 @@ fn main() {
11601160

11611161
C'est un moyen simple et efficace d'assigner du contenu sans passer par le pattern matching.
11621162

1163-
### A quoi servent les mot-clés while let ?
1163+
### A quoi servent les mot-clés `while let` ?
11641164

11651165
La combinaison des deux mot-clés permet d'effectuer des tests de manière concise et ainsi nous éviter de passer par le pattern matching lorsque ça n'est pas nécessaire. (`while let` peuvent s'avérer très utiles lorsqu'il faut tester à chaque itération si le fichier contient toujours quelque chose)
11661166

@@ -1891,6 +1891,29 @@ Voir aussi :
18911891

18921892
### A quoi sert la macro try! ?
18931893

1894+
La macro `try!` permet de s'assurer de l'intégrité de la ressource.
1895+
Si la ressource *enveloppée* par la macro `try!` est intègre, elle sera *bindée* à l'identificateur qui lui est assigné.
1896+
Sinon, `try!` effectue un retour, renvoi prématuré.
1897+
1898+
#### Note
1899+
1900+
Attention toutefois à ne pas oublier qu'une fonction usant de cette macro doit forcément renvoyer une instance de `Result<(), io::Error>`. (le type de la valeur renvoyée en cas de succès est arbitaire)
1901+
1902+
```rust
1903+
fn foo(string: &String) -> Result<(), io::Error>
1904+
{
1905+
try!(std::fs::File::create("my_file.txt"));
1906+
println!("Une chance sur deux pour que je sois du code mort !");
1907+
Ok(())
1908+
}
1909+
fn bar(string: &String) -> std::fmt::Result<()> //fonctionne également avec l'alias de Result<T, E>
1910+
{
1911+
try!(std::fs::File::create("my_file.txt"));
1912+
println!("Une chance sur deux pour que je sois du code mort !");
1913+
Ok(())
1914+
}
1915+
```
1916+
18941917
### Comment utiliser la macro assert! ?
18951918

18961919
La macro `assert!` capture deux types « d'expressions » différents :
@@ -2060,6 +2083,20 @@ fn main() {
20602083

20612084
## I/O
20622085

2086+
### Que puis-je trouver dans cette section ?
2087+
2088+
Dans cette section, vous retrouverez toutes les questions couramment posées concernant l'utilisation des outils dédiés à la gestion des flux.
2089+
2090+
### Comment créer un fichier ?
2091+
2092+
### Comment lire le contenu d'un fichier ?
2093+
2094+
### Comment écrire à l'intérieur d'un fichier ?
2095+
2096+
### Comment différencier un fichier d'un répertoire ?
2097+
2098+
### Comment lister les objets d'un répertoire ?
2099+
20632100
## Antisèches Rust
20642101

20652102
## Trucs & astuces

0 commit comments

Comments
 (0)