diff --git a/types_avances.md b/types_avances.md new file mode 100644 index 0000000000000000000000000000000000000000..b6a65f1a8c1097d377ff1b431ca72ac754482243 --- /dev/null +++ b/types_avances.md @@ -0,0 +1,64 @@ +--- +title: Cours de programmation séquentielle +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 + +## `Tuples`{.rust} + +- Un $n-$tuplet est une *collection* ordonnée de $n$ objets. +- Permet de regrouper plusieurs valeurs avec différents types dans un type composé. + + <pre><code data-trim="hljs rust" class="lang-rust"> + fn main() { + let tuple: (f64, char, usize) = (1.0, 'c', 18usize); // type pas nécessaire + + println!("Un tuple {:?}", tuple); // affichage Debug + + let sans_type_tuple = (666, "abcdef"); // type inféré + + println!("Un autre tuple {:?}", sans_type_tuple); // affichage Debug + } + </code></pre> + +## Destructuration + + + +# Vecteurs statiques + +## Array{.rust} + +# Vecteurs dynamiques + +## Vec{.rust} + +# Structures + +## `Struct`{.rust} + +- Une structure est un type + +# Types énumérés + +## `Enum`{.rust}