Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Les fonctionnalités des langages fonctionnels : les itérateurs et les fermetures

La conception de Rust s’est inspirée de nombreux langages et technologies existantes, et une de ses influences les plus marquantes est la programmation fonctionnelle. La programmation dans un style fonctionnel consiste souvent à utiliser une fonction comme une valeur en la passant en argument d’une autre fonction, la retourner en résultat d’une autre fonction ou l’assigner à une variable pour l’exécuter plus tard, par exemple.

Dans ce chapitre, nous n’allons pas débattre sur ce qu’est ou n’est pas la programmation fonctionnelle, mais nous allons plutôt voir quelques fonctionnalités de Rust qui sont similaires à celles des autres langages souvent considérés comme fonctionnels.

Plus précisément, nous allons voir :

  • les fermetures, une construction qui ressemble à une fonction que vous pouvez stocker dans une variable ;
  • les itérateurs, une façon de travailler sur une série d’éléments ;
  • comment utiliser les fermetures et les itérateurs pour améliorer le projet d’entrée/sortie du chapitre 12 ;
  • les performances des fermetures et itérateurs (spoiler alert : elles sont probablement plus rapides que ce que vous pensez !).

Nous avons déjà traité d’autres fonctionnalités de Rust, comme le filtrage par motif et les énumérations, qui sont aussi influencées par la programmation fonctionnelle. Dans la mesure où la maîtrise des fermetures et des itérateurs est une étape importante pour écrire du code Rust performant, nous allons leur dédier ce chapitre entier.