From bcd6414c7445c3f1f81937ef50ffcd2a2edd03b4 Mon Sep 17 00:00:00 2001 From: Orestis Malaspinas <orestis.malaspinas@hesge.ch> Date: Fri, 22 Jun 2018 15:10:31 +0200 Subject: [PATCH] ajouts divers fonctions --- control.md | 4 ++-- fonctions.md | 48 ++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 40 insertions(+), 12 deletions(-) diff --git a/control.md b/control.md index b9e6842..2f49133 100644 --- a/control.md +++ b/control.md @@ -115,7 +115,7 @@ fn main() { - On sort d'une boucle avec `break`{.rust} - <pre><code data-trim="hljs rust" class="lang-rust"> +<pre><code data-trim="hljs rust" class="lang-rust"> fn main() { let mut i = 0; loop { @@ -129,7 +129,7 @@ fn main() { } } } - </code></pre> +</code></pre> ## La boucle `while`{.rust} diff --git a/fonctions.md b/fonctions.md index 50d95e8..5b48730 100644 --- a/fonctions.md +++ b/fonctions.md @@ -22,7 +22,7 @@ sansfont: Sans Serif <!-- slide-numbers: true --> --- -# Les instructions et les expressions +# Instructions et expressions ## Les instructions (statements) @@ -32,7 +32,7 @@ sansfont: Sans Serif ```{.lang-rust} let x = 1; // une instruction ``` -- On ne peut pas assigner une instruction +- On ne peut pas assigner une instruction `let`{.rust} <pre><code data-trim="hljs rust" class="lang-rust"> fn main() { @@ -50,14 +50,42 @@ sansfont: Sans Serif ``` - La plupart du code rust est une expression. -- N'importe quel bloc peut effectuer des opérations et retourner une valeur. +- N'importe quel **bloc** peut effectuer des opérations et retourner une valeur. <pre><code data-trim="hljs rust" class="lang-rust"> - fn main() { - let y = { - let x = 5 + 3; - x - 9 - }; - println!("5 + 3 - 9 = {}", y); - } +fn main() { + let y = { + let x = 5 + 3; + x - 9 + }; + println!("5 + 3 - 9 = {}", y); +} </code></pre> + +- **Important:** Une expression sans `;` dans un bloc retourne la valeur evaluée de l'expression. + +# Fonctions + +## Généralités + +- Les fonctions s'écrivent en *snake_case* (le compilateur vous avertiras...). +- La définition d'une fonction commence par un `fn`{.rust}. +- La définition des fonctions peut se faire avant ou après l'endroit où elle est appelée. + + <pre><code data-trim="hljs rust" class="lang-rust"> +fn main() { + println!("La fonction main est une fonction."); + + fonction_fonction(); +} + +fn fonction_fonction() { + println!("La fonction fonction_fonction est une fonction."); +} + </code></pre> + +## Paramètres de fonctions + +- Une fonction peut prendre des arguments séparés par des `,`{.rust}. +- Le type des arguments doit toujours être explicitement déclaré. +- \ No newline at end of file -- GitLab