Sortie de Ruby 3.4.0
(ruby-lang.org)-
Comme les années précédentes, Ruby 3.4.0 a été publié le 25/12.
-
Les principales nouveautés comprennent l’ajout de la référence au paramètre de bloc
it, le passage à Prism comme parseur par défaut, l’ajout du support de Happy Eyeballs Version 2 dans la bibliothèque socket, l’amélioration de YJIT et l’ajout d’un GC modulaire. -
Référence au paramètre de bloc
it- Le
itest introduit pour référencer les paramètres de bloc sans nom de variable. Il fonctionne de manière similaire à_1et est pratique dans les blocs simples.
- Le
-
Changement du parseur par défaut vers Prism
- Le parseur par défaut est désormais
Prismau lieu deparse.y. Les utilisateurs ne devraient pas constater de changements significatifs, mais signalez tout problème de compatibilité.
- Le parseur par défaut est désormais
-
Happy Eyeballs Version 2 dans la bibliothèque socket
- Le support de Happy Eyeballs Version 2 (RFC 8305) a été ajouté à la bibliothèque socket. Cela permet d’obtenir des connexions réseau efficaces et fiables adaptées à l’Internet moderne.
-
Amélioration de YJIT
- Des gains de performance ont été observés dans la plupart des benchmarks, une réduction de la consommation mémoire, de nombreuses corrections de bugs et de nouvelles fonctionnalités ont été ajoutées.
-
GC modulaire
- Ajout d’un GC modulaire (garbage collector) permettant de charger dynamiquement des implémentations de GC alternatives. Une toolchain Rust est nécessaire.
-
Changements du langage
- Un avertissement est émis lorsqu’un littéral de chaîne est modifié dans un fichier sans le commentaire
frozen_string_literal. La prise en charge du keyword splatting**nilet d’autres changements linguistiques sont également inclus.
- Un avertissement est émis lorsqu’un littéral de chaîne est modifié dans un fichier sans le commentaire
-
Mises à jour des classes de base
- Plusieurs mises à jour de classes de base sont incluses, notamment
Exception#set_backtracequi accepte désormais un tableau deThread::Backtrace::Location.
- Plusieurs mises à jour de classes de base sont incluses, notamment
-
Mises à jour de la bibliothèque standard
- Plusieurs bibliothèques standard comme RubyGems, Bundler, JSON et Tempfile ont reçu des améliorations de performance et de nouvelles fonctionnalités.
-
Problèmes de compatibilité
- Des changements liés à la compatibilité ont été inclus, comme la modification de l’affichage des messages d’erreur et des backtraces, ainsi qu’un changement dans le rendu de
Hash#inspect.
- Des changements liés à la compatibilité ont été inclus, comme la modification de l’affichage des messages d’erreur et des backtraces, ainsi qu’un changement dans le rendu de
-
Mise à jour de l’API C
- Mise à jour de l’API C, notamment la suppression des fonctions
rb_newobjetrb_newobj_of.
- Mise à jour de l’API C, notamment la suppression des fonctions
-
Autres changements
- Divers autres changements sont inclus, par exemple un avertissement quand un bloc inutilisé est transmis à une méthode.
2 commentaires
Commentaires sur Hacker News
yacc, mais Ruby rejoint la liste des langages qui emploient un parser écrit à la main.parse.y(16k lignes) parprism.c(22k lignes) est un geste audacieux.--yjit, et on voit une grosse différence.devContainers.html.erbde Rails était totalement cassée dans VSCode et dans d’autres éditeurs.Il existe un script qui facilite l'installation de Rails sur macOS. => https://rails.new/