From 0f1c1288703f190f560fa2afa1823c03f6fcb7d7 Mon Sep 17 00:00:00 2001 From: Orestis Malaspinas <orestis.malaspinas@hesge.ch> Date: Tue, 26 Jun 2018 16:42:38 +0200 Subject: [PATCH] debut types avancesg --- types_avances.md | 64 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 types_avances.md diff --git a/types_avances.md b/types_avances.md new file mode 100644 index 0000000..b6a65f1 --- /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} -- GitLab