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

Commit 8149894

Browse files
authored
Merge pull request #4 from Songbird0/WIP
# 30.10.16 Ajout des Q/R gravitant autour de la structure Option et quelques fix de typo.
2 parents 8cb6bf7 + 4b11fa9 commit 8149894

File tree

5 files changed

+233
-1945
lines changed

5 files changed

+233
-1945
lines changed

rust_FAQ.xml

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="ISO-8859-1"?>
22
<document>
3-
<!--XML créé avec la version 16.8 du KitOOoDVP le 25/10/2016 00:09:38-->
3+
<!--XML créé avec la version 16.8 du KitOOoDVP le 30/10/2016 02:23:28-->
44
<!--En-tête d'article-->
55
<entete>
66
<rubrique>89</rubrique>
@@ -1617,9 +1617,9 @@ benchmark_main!(my_bench);</code>
16171617
<paragraph>Oui, bien entendu.</paragraph>
16181618
<paragraph>Il existe trois assertions différentes en Rust (toutes encapsulées par une macro)&#160;:</paragraph>
16191619
<liste type="1">
1620-
<element><link href="https://doc.rust-lang.org/std/macro.assert!.html" target="_blank" title="Ouvrir un nouvel onglet">assert</link>!;</element>
1621-
<element><link href="https://doc.rust-lang.org/std/macro.assert_eq!.html" target="_blank" title="Ouvrir un nouvel onglet">assert_eq</link>!;</element>
1622-
<element><link href="https://doc.rust-lang.org/std/macro.debug_assert!.html" target="_blank" title="Ouvrir un nouvel onglet">debug_assert</link>!.</element>
1620+
<element><inline langage="rust">assert!</inline>;</element>
1621+
<element><inline langage="rust">assert_eq!</inline>;</element>
1622+
<element><inline langage="rust">debug_assert!</inline>.</element>
16231623
</liste>
16241624
<paragraph>Voir aussi&#160;:</paragraph>
16251625
<liste>
@@ -1738,8 +1738,8 @@ fn main()
17381738
}</code>
17391739
<paragraph>Actuellement, les structures qui implémentent la méthode and_then() sont&#160;:</paragraph>
17401740
<liste>
1741-
<element>Option&lt;T>;</element>
1742-
<element>Result&lt;T, E>;</element>
1741+
<element><inline langage="rust">Option&lt;T></inline>;</element>
1742+
<element><inline langage="rust">Result&lt;T, E></inline>;</element>
17431743
</liste>
17441744
<paragraph>Voir aussi&#160;:</paragraph>
17451745
<liste>
@@ -1785,7 +1785,6 @@ fn main() -> ()
17851785
<liste>
17861786
<element><link href="https://is.gd/wsqrbp" target="_blank" title="Ouvrir un nouvel onglet">Visionner le résultat de l'exemple</link> (requiert une connexion internet)</element>
17871787
<element>Comment utiliser une macro&#160;?</element>
1788-
<element>[macro]Antisèche des sous-types</element>
17891788
</liste>
17901789
</section>
17911790
<section id="II-D-12">
@@ -1813,7 +1812,6 @@ fn main() -> ()
18131812
<element>
18141813
<link href="#LII-A-33" title="Comment utiliser une macro&#160;?">Comment utiliser une macro&#160;?</link>
18151814
</element>
1816-
<element>[macro]Antisèche des sous-types</element>
18171815
</liste>
18181816
</section>
18191817
<section id="II-D-13">
@@ -1844,7 +1842,7 @@ fn main() -> ()
18441842
</liste>
18451843
</section>
18461844
<section id="II-D-14">
1847-
<title>Qu'est-ce que la structure Result&lt;T, E>&#160;?</title>
1845+
<title>Qu'est-ce que l'énumération Result&lt;T, E>&#160;?</title>
18481846
<paragraph><inline langage="rust">Result&lt;T, E></inline> est une énumération contenant deux constructeurs&#160;:</paragraph>
18491847
<liste type="1">
18501848
<element><inline langage="rust">Ok(T)</inline>,</element>
@@ -1854,7 +1852,7 @@ fn main() -> ()
18541852
<paragraph>Voir aussi&#160;: Comment utiliser la structure <inline langage="rust">Result&lt;T, E></inline>&#160;?</paragraph>
18551853
</section>
18561854
<section id="II-D-15">
1857-
<title>Comment utiliser la structure Result&lt;T, E>&#160;?</title>
1855+
<title>Comment utiliser l'énumération Result&lt;T, E>&#160;?</title>
18581856
<paragraph>L'utilisation de cette énumération requiert quelques notions quant à la gestion des erreurs avec Rust&#160;; Ce dernier ne permettant pas l'utilisation des exceptions, cette structure vous permettra de conserver l'entrée si elle correspond à vos attentes, ou le message d'erreur si quelque chose ne s'est pas passé correctement.</paragraph>
18591857
<paragraph>Voici un exemple simple de gestion d'erreur&#160;:</paragraph>
18601858
<code dissimulable="1" langage="rust" showLines="1" startLine="1" titre="Gestion d'erreur avec unwrap() seulement">fn foo&lt;'a, 'b>(arg: Option&lt;&amp;'a str>) -> Result&lt;String, &amp;'b str>
@@ -1886,8 +1884,24 @@ fn main()
18861884
<paragraph>
18871885
<link href="https://is.gd/kof5ew" langue="Src" target="_blank" title="Ouvrir un nouvel onglet">Le résultat de cet exemple</link>
18881886
</paragraph>
1889-
<paragraph>Qu'est-ce que la structure Option&lt;T>&#160;?</paragraph>
1890-
<paragraph>Comment utiliser la structure Option&lt;T>&#160;?</paragraph>
1887+
</section>
1888+
<section id="II-D-16">
1889+
<title>Qu'est-ce que l'énumération Option&lt;T>&#160;?</title>
1890+
<paragraph>Option est une énumération contenant deux constructeurs différents&#160;: <inline langage="rust">Some(T)</inline> et <inline langage="rust">None</inline>.</paragraph>
1891+
<paragraph>Option est en quelque sorte un wrapper, conteneur permettant de vérifier l'intégrité des données contenues.</paragraph>
1892+
</section>
1893+
<section id="II-D-17">
1894+
<title>Comment utiliser l'énumération Option&lt;T>&#160;?</title>
1895+
<paragraph>Pour utiliser les variantes de l'énumération, il faut savoir à quoi elles correspondent.</paragraph>
1896+
<liste>
1897+
<element><inline langage="rust">Some(T)</inline> représente un binding valide&#160;;</element>
1898+
<element><inline langage="rust">None</inline> représente un binding invalide.</element>
1899+
</liste>
1900+
<code dissimulable="1" langage="rust" showLines="1" startLine="1">fn main()
1901+
{
1902+
let foo : Option&lt;String> = Some(String::from("Binding valide"));
1903+
let bar : Option&lt;String> = None; //binding invalide, ne contient rien
1904+
}</code>
18911905
</section>
18921906
</section>
18931907
<section id="II-E">

rust_FAQ_HTML/images/WIP.gif

932 Bytes
Loading

0 commit comments

Comments
 (0)