
Ruby 3.4.0 a été publié, et la version 3.4.0 a été publiée. Cette version ajoute la référence au paramètre de bloc 'it', change Prism comme parser par défaut, ajoute le support de la version 2 de Happy Eyeballs à la bibliothèque socket et plus encore.
Ruby 3.4.0 introduit "it"
L'alias it est ajouté pour faire référence à un paramètre de bloc sans nom de variable.
Code : | Sélectionner tout |
1 2 3 | ary = ["foo", "bar", "baz"] p ary.map { it.upcase } #=> ["FOO", "BAR", "BAZ"] |
Prism est maintenant le parseur par défaut
Cette version change l'analyseur par défaut de parse.y à Prism.
Il s'agit d'une amélioration interne et il devrait y avoir peu de changements visibles pour l'utilisateur.
Pour utiliser le parseur conventionnel, utilisez l'argument de la ligne de commande --parser=parse.y.
La bibliothèque socket intègre désormais la version 2 de Happy Eyeballs
La bibliothèque socket intègre désormais Happy Eyeballs Version 2 (RFC 8305), la dernière version standardisée d'une approche largement adoptée pour améliorer la connectivité dans de nombreux langages de programmation, dans TCPSocket.new (TCPSocket.open) et Socket.tcp. Cette amélioration permet à Ruby de fournir des connexions réseau efficaces et fiables, adaptées aux environnements internet modernes.
Jusqu'à Ruby 3.3, ces méthodes effectuaient la résolution de nom et les tentatives de connexion en série. Avec cet algorithme, elles fonctionnent désormais comme suit :
- Résolution simultanée de noms IPv6 et IPv4
- Tentative de connexion aux adresses IP résolues, en donnant la priorité à IPv6, avec des tentatives parallèles échelonnées à des intervalles de 250 ms.
- Renvoie la première connexion réussie et annule les autres.
Cela permet de minimiser les délais de connexion, même si un protocole ou une adresse IP spécifique est retardé ou indisponible. Cette fonctionnalité est activée par défaut, il n'est donc pas nécessaire de la configurer davantage pour l'utiliser. Pour la désactiver globalement, définissez la variable d'environnement RUBY_TCP_NO_FAST_FALLBACK=1 ou appelez Socket.tcp_fast_fallback=false. Pour le désactiver méthode par méthode, utilisez le mot-clé fast_fallback : false.
Source : Ruby 3.4.0
Et vous ?


Voir aussi :


Vous avez lu gratuitement 5 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.