La programmation fonctionnelle avec Scala

Scala possède plusieur types polymorphes. Celà permet de rendre le langage plus expressif tout en garantissant un typage fort.

Option

Le type Option est un type abstrait générique permettant de caractériser la présence ou l'absence de valeur.
On peut le voir comme un type de collection pouvant contenir 1 ou 0 élément.
Option[A] utilise deux sous types :


Option fournit de nombreuses méthodes dont :
Il permet par exemple de remplacer les code de type «if (a=null) return z else return a» par un a.getOrElse(z)

En quelque mot

Pour terminer j'évoquerai sans approfondir deux autres concepts de scala : les Future et le for-comprhension.

Future

Le type Future est un autre type abstrait générique. Il est utilisé pour manipuler des résultats non encore calculés.
On peut ainsi écrire le code qui sera executé une fois le calcul terminé. On peut comparer ça à l'appel d'une fonction callback à la fin d'un Thread.
Les Futures permettent d'écrire des programmes concurrent en évitant de manipuler directement les Thread. S'épargnant ainsi :


for-comprehension

Pour manipuler plusieurs Option ou plusieurs Future simultanément Scala offre une syntaxe fort pratique : le for comprehension.
Il se décompose en deux blocs :