diff --git a/types_avances.md b/types_avances.md index b6a65f1a8c1097d377ff1b431ca72ac754482243..b0a8c5f3e2c4b834d7cd3fd82137af8b67c9b803 100644 --- a/types_avances.md +++ b/types_avances.md @@ -4,22 +4,6 @@ subtitle: Types avancés author: Orestis Malaspinas <!-- date: 25 avril 2018 --> sansfont: Sans Serif -<!-- header-includes: - <link rel="stylesheet" href="reveal.js/lib/css/zenburn.css" > - <link rel="stylesheet" href="reveal.js/css/theme/simple.css" id="theme"> - <link rel="stylesheet" href="css/console.css" id="theme"> - <script src="jquery/dist/jquery.min.js"></script> --> - <!-- <script src="reveal.js/lib/js/classList.js"></script> --> - <!-- <script src="reveal.js/plugin/zoom-js/zoom.js"></script> --> - <!-- <script src="reveal.js/plugin/highlight/highlight.js"></script> --> - <!-- <script src="js/remote-diagrams.js"></script> --> - <!-- <script src="reveal.js/plugin/notes/notes.js"></script> --> -<!-- include-after: - <script src="js/playRust.js"></script> - <script src="js/remote-code.js"></script> - <script src="js/remote-diagrams.js"></script> - <script src="js/em-artiste.js"></script> --> -<!-- slide-numbers: true --> --- # $N$-uplets @@ -43,8 +27,30 @@ sansfont: Sans Serif ## Destructuration +- On peut destructurer un $n$-uplet avec la notation + + `let (a,b,c,...) = tuple;`{.rust} + +- Les champs sont accessibles avec la notation + + ` + let a = tuple.0; + let b = tuple.1; + `{.rust} + +<pre><code data-trim="hljs rust" class="lang-rust"> +fn main() { + let tuple = (1.0, 'c', 18usize); + let (fl, ch, us) = tuple; + println!("Le tuple destructuré: {}, {}, {}", fl, ch, us); + + let fl_ind = tuple.0; + let ch_ind = tuple.1; + let us_ind = tuple.2; + println!("Le tuple re-destructuré: {}, {}, {}", fl_ind, ch_ind, us_ind); +} +</code></pre> - # Vecteurs statiques ## Array{.rust}