Publiée assez récemment, Ruby 2.6 apporte un certain nombre de commodités qu'il peut être intéressant de découvrir. Quelles sont les nouveautés ? Tentons le coup !
1. Des gammes infinies
Ruby 2.6 introduit les plages infinies, ce qui rend les expressions comme :
![](/app/uploads/2024/05/code3.png)
possible.
2. Tableau
Ruby 2.6 fournit de nouvelles méthodes et alias pour la classe Array. Par exemple
- Différence Array# - fonctionne comme l'opérateur "I"', mais accepte plusieurs arguments.
- Array#union - fonctionne comme l'opérateur "&", mais accepte plusieurs arguments.
- Filtre Array1TP61 - nouvel alias pour Array#select.
![Code 2](/app/uploads/2024/05/code5.png)
3. Corbeille
Hash#merge et Hash#merge ! accepte désormais des arguments multiples. Plus d'informations code comme : hash1.merge(hash2).merge(hash3)!
![Code 3](/app/uploads/2024/05/code4.png)
4. Noyau#puis
Ruby 2.6 fournit la méthode Kernel#thenqui est un alias de Kernel#yield_selfce qui nous permet d'enchaîner les opérations dans des pipelines et de rendre le code plus lisible.
![Code4](/app/uploads/2024/05/code7.png)
5. Nouvelle façon de créer un hachage à partir d'un tableau
Ruby 2.6 fournit Numérable#to_h qui accepte un bloc et associe les clés aux valeurs !
Rappelons brièvement comment nous devions gérer la création d'un hachage à partir d'un tableau avant Ruby 2.6 :
![Code5](/app/uploads/2024/05/code6.png)
Désormais, il est possible de procéder simplement de la manière suivante :
![Code6](/app/uploads/2024/05/code2-1.png)
Comme c'est cool !
6. Proc#compose - un peu de magie Ruby ou juste un désordre illisible ?
Depuis Ruby 2.6 Proc#>> et Proc#<< ont été ajoutées, ce qui nous permet de combiner deux fonctions. Voyons ce qu'il en est :
![Code7](/app/uploads/2024/05/code1-1.png)
Avec l'opération #>>, le nombre entre d'abord dans la fonction d'exponentiation, puis moins_deux est effectué sur le résultat du premier appel de fonction. Bien que cela semble utile et nous donne un peu de magie, pour laquelle nous aimons tous Ruby, certains disent que le code écrit de cette manière devient juste un désordre illisible.
Ce sont, à mon avis, les commodités les plus intéressantes que Ruby 2.6 nous offre. Je recommande vivement de jeter un coup d'œil sur les versions officielles de changelog aussi.
Lire aussi :
- La rédaction de la documentation est devenue facile grâce à VuePress
- Sécurité dans les paquets Javascript
- Tutoriel sur les bases de Vue.js. Comment commencer avec ce framework ?