issue158:c_c
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
issue158:c_c [2020/07/02 07:27] – d52fr | issue158:c_c [2020/07/03 14:45] (Version actuelle) – andre_domenech | ||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
Why? Functions are just code blocks you can use over and over by calling them. Clearly, they simplify life. Functions can return a value, but they do not have to. You have seen a function, the main function we have been playing with. It is good practice to write functions, then simply call them in the main function. Rule of thumb, you recognise a function by the parenthesis. Example: Println!(); | Why? Functions are just code blocks you can use over and over by calling them. Clearly, they simplify life. Functions can return a value, but they do not have to. You have seen a function, the main function we have been playing with. It is good practice to write functions, then simply call them in the main function. Rule of thumb, you recognise a function by the parenthesis. Example: Println!(); | ||
- | OK, bandes de RUST-iques, nous revenons au développement de Rust car @Daredevil14 et Ellin se sont plaints de la direction que prenait le blog de Lucas sur Rust. Il semblerait que vous aimeriez toujours plus de rust et moins de non-sens sur la sécurité. En premier lieu, ne négligez pas la lecture du livre ci-dessus. Si vous êtes complètement débutant dans rust ou même en programmation, | + | OK, bandes de RUST-iques, nous revenons au développement de Rust car @Daredevil14 et Ellin se sont plaints de la direction que prenait le blog de Lucas sur Rust. Il semblerait que vous aimeriez toujours plus de rust et moins de « non-sens sur la sécurité |
Définissez vos propres fonctions : | Définissez vos propres fonctions : | ||
- | Pourquoi ? Les fonctions ne sont que des blocs de code que vous utiliser | + | Pourquoi ? Les fonctions ne sont que des blocs de code que vous utilisez |
**In C, one specifies the type of return value before the function. | **In C, one specifies the type of return value before the function. | ||
Ligne 34: | Ligne 34: | ||
int main (void) | int main (void) | ||
- | Dans Rust, une flèche est utilisée. Pour faire une flèche, saisissez juste un tiret suivi par un « plus grand que », >. | + | Dans Rust, une flèche est utilisée. Pour faire une flèche, saisissez juste un tiret suivi du symbole |
- | fn <functionname>(parameters) -> returntype | + | fn <nomdefonction>(paramètres) -> typeretourné |
- | Ça peut paraître un peu bizarre... | + | Ça peut paraître un peu bizarre... |
- | Pour simplifier, disons que nous voulons faire une fonction qui additionne deux chiffres et retourne le résultat. Elle pourrait ressembler à quelque chose comme ça : | + | Pour simplifier, disons que nous voulons faire une fonction qui additionne deux chiffres et retourne le résultat. Elle pourrait ressembler à quelque chose comme ceci : |
fn adder (num1: i32, num2: i32) -> i32 | fn adder (num1: i32, num2: i32) -> i32 | ||
Ligne 56: | Ligne 56: | ||
Now I actually want you to put a semicolon there and save and run it again. ** | Now I actually want you to put a semicolon there and save and run it again. ** | ||
- | Si vous avez vu qu'il n'y avait pas de de point-virgule à la fin de la déclaration, | + | Si vous avez vu qu'il n'y avait pas de point-virgule à la fin de la déclaration, |
Si ce n'est pas clair ou si vous avez une meilleure façon de l' | Si ce n'est pas clair ou si vous avez une meilleure façon de l' | ||
- | Maintenant, je veux vraiment | + | Maintenant, je veux en fait que vous mettiez un point-virgule à cet endroit, que vous le sauvegardiez et que vous le lanciez à nouveau. |
**Peruse the error output. Rust help is on the money! You will also see “rustc --explain E0308” at the end of the message. Run it and see. It is less helpful, but not a waste of your time. If you are having issues getting your head around it, there is another way. You can use the keyword “return” in front of that statement, but then you need to close it off with a semicolon. | **Peruse the error output. Rust help is on the money! You will also see “rustc --explain E0308” at the end of the message. Run it and see. It is less helpful, but not a waste of your time. If you are having issues getting your head around it, there is another way. You can use the keyword “return” in front of that statement, but then you need to close it off with a semicolon. | ||
Ligne 70: | Ligne 70: | ||
include < | include < | ||
- | Lisez attentivement l' | + | Lisez attentivement l' |
return num1 + num2; | return num1 + num2; | ||
- | Vu dans le numéro | + | Continuons depuis |
include < | include < | ||
Ligne 82: | Ligne 82: | ||
The crates.io website is something you should bookmark. It is filled with handy libraries, but more on that later. I would go into depth explaining crates, but the website does it so much better. See: https:// | The crates.io website is something you should bookmark. It is filled with handy libraries, but more on that later. I would go into depth explaining crates, but the website does it so much better. See: https:// | ||
- | En Rust, nous utilisons simplement le mot-clé « use ». La documentation le décrit comme un prélude, mais, si ça peut vous aider, voyez-le comme une en-tête de fichier. https:// | + | En Rust, nous utilisons simplement le mot-clé « use ». La documentation le décrit comme un prélude, mais, si ça peut vous aider, voyez-le comme une en-tête de fichier. https:// |
- | Le site Web crate.io est quelque chose surlequel | + | Le site Web crate.io est quelque chose sur lequel |
**You may have heard the joke, “there is no such thing as AI; it is if-statements all the way down”. | **You may have heard the joke, “there is no such thing as AI; it is if-statements all the way down”. | ||
Ligne 92: | Ligne 92: | ||
Branching and making decisions is another must-know, when programming. We have for-loops, while-loops and if-statements. (There is also the loop-keyword you may not have seen). If you know what a case-statement or switch is, the equivalent in rust is the match-keyword. If you have no idea, don’t worry, we will look at it now. ** | Branching and making decisions is another must-know, when programming. We have for-loops, while-loops and if-statements. (There is also the loop-keyword you may not have seen). If you know what a case-statement or switch is, the equivalent in rust is the match-keyword. If you have no idea, don’t worry, we will look at it now. ** | ||
- | Vous connaissez peut-être la blague « Il n'y a rien de tel que l' IA ; c'est plein de déclarations if » | + | Vous connaissez peut-être la blague « L' |
Toujours rien ? Je suis là toute la semaine. | Toujours rien ? Je suis là toute la semaine. | ||
- | Les branchements et les prises de décisions sont une autre partie indispensable à connaître, quand on programme. Nous avons les boucles for, les boucles while et les déclarations if. (Il y a aussi le mot-clé loop, que vous n'avez peut-être pas encore vu). Si vous savez ce qu'est une déclaration « case » ou une commutation, | + | Les branchements et les prises de décisions sont une autre partie indispensable à connaître, quand on programme. Nous avons les boucles for, les boucles while et les déclarations if. (Il y a aussi le mot-clé loop, que vous n'avez peut-être pas encore vu). Si vous savez ce qu'est une déclaration « case » ou une commutation, |
**Match is not a dating app, it is a list of possibilities, | **Match is not a dating app, it is a list of possibilities, | ||
Ligne 104: | Ligne 104: | ||
You can even match against a range (ellipses). It is deprecated, but it still works. See below left.** | You can even match against a range (ellipses). It is deprecated, but it still works. See below left.** | ||
- | Match n'est pas une appli de rencontre, c'est une liste de possibilités, | + | Match n'est pas une appli de rencontre, c'est une liste de possibilités, |
Vous pouvez avoir des conditions multiples en utilisant l' | Vous pouvez avoir des conditions multiples en utilisant l' | ||
- | Vous pouvez même chercher des correspondances dans une suite (ellipses). C'est déprécié mais ça marche encore. Regardez en bas à gauche. | + | Vous pouvez même chercher des correspondances dans une suite (ellipses). C'est déprécié, mais ça marche encore. Regardez en bas à gauche. |
**Most of this code is self-explanatory, | **Most of this code is self-explanatory, | ||
Ligne 118: | Ligne 118: | ||
If you have any questions or comments, email us: misc@fullcirclemagazine.org** | If you have any questions or comments, email us: misc@fullcirclemagazine.org** | ||
- | La plupart du code se comprend tout seul, sauf le trait de soulignement à la fin. Ceci dit à rust que nous voulons explicitement ignorer tous les autres cas. Si nous ne faisons pas ça, rust nous informera de toustes | + | La plupart du code se comprend tout seul, sauf le trait de soulignement à la fin. Cela dit à rust que nous voulons explicitement ignorer tous les autres cas. Si nous ne le faisons pas, rust nous informera de toutes |
- | Si nous avons deux mini-inters pour définir la vitesse de transfert d'une communication série, il y a quatre possiblités et Rust les reconnait. Et il peut même nous dire quelle est celle nque nous avons oublié | + | Si nous avons deux mini-inters pour définir la vitesse de transfert d'une communication série, il y a quatre possiblités et Rust les reconnaît. Et il peut même nous dire quelle est celle que nous avons oubliée |
- | Dans le prochain article, nous pouvons | + | Dans le prochain article, nous pourrons |
Si vous avez une question ou un commentaire, | Si vous avez une question ou un commentaire, | ||
issue158/c_c.1593667658.txt.gz · Dernière modification : 2020/07/02 07:27 de d52fr