Developpez.com

Le Club des Développeurs et IT Pro

Ruby passe à la version 2.1

Et introduit un lot de nouvelles fonctions et un meilleur garbage collector

Le 2014-01-07 13:27:03, par Cedric Chevalier, Expert éminent sénior
La nouvelle année débute bien pour les utilisateurs de Ruby. Le langage de programmation sort en version 2.1.0 et est présenté par beaucoup comme simple, rapide à prendre en main et surtout très intuitif.

Que doit-on attendre avec la nouvelle version de Ruby ? La réponse c’est un lot de nouveautés, surtout en ce qui concerne l’addition et les modifications apportées aux méthodes de nombreuses classes.

La valeur de retour de la fonction def-expr n’est plus « Nil ». À la place, son symbole est retourné.

La classe Array se dote d’une nouvelle méthode appelée Array#to_h, qui permet de convertir un tableau de paire clé-valeur en Hash.

Du côté de la classe IO, on note une extension des fonctionnalités de la fonction Seek. Désormais, IO#seek prend en charge les symboles ( :CUR, :END, :SET, :HOLE) comme second argument.

La méthode Mutex#owned n’est désormais plus une méthode expérimentale.

La méthode Step de la classe numérique peut désormais être invoquée avec omission de son argument Limit. Dans ce cas, une séquence infinie de nombre est générée.

La classe string n’est pas en reste. Elle se voit elle aussi dotée de la nouvelle méthode String#scrub ! qui permet de vérifier, puis réparer le cas échéant les séquences d’octets invalides.

Les méthodes Kernel#untrusted ?, untrust et trust sont désormais obsolètes. À leur place, il faudra utiliser dorénavant les méthodes Kernel#tainted ? , taint et untaint respectivement.

Par ailleurs, Ruby 2.1.0 c‘est aussi une amélioration conséquente du « ramasse miettes » (garbage collector) du langage. Grace à celui-ci, les performances du langage ont été grandement améliorées.

Télécharger Ruby 2.1.0

Sources: GitHub

Et vous ?

Conseillerez-vous Ruby à un débutant en programmation ? Pourquoi ?
  Discussion forum
1 commentaire
  • Senaku-seishin
    Membre expérimenté
    Pour ceux qui veulent plus de détail sur l'évolution du garbage collector : http://tmm1.net/ruby21-rgengc/