/ / Quelles sont les principales différences entre Ruby 1.8.6 et 1.9.1? [en double] - rubis, ruby-1.9, ruby-1.8

Quelles sont les principales différences entre Ruby 1.8.6 et 1.9.1? [en double] - rubis, ruby-1.9, ruby-1.8

Duplication possible:
Quelle est la différence entre Ruby 1.8 et Ruby 1.9

J'ai trouvé des différences dans l'interprétation des variables globales et locales.

Quelqu'un peut-il m'indiquer la liste des différences majeures?

Réponses:

3 pour la réponse № 1

Ce sont probablement les changements les plus importants:

  • Ruby 1.9 changé d'être d'être interprété à être bytecode-compilé (en utilisant le YARV VM).

  • La classe String a été repensée entièrement pour le rendre conscient du codage.

  • Les expressions régulières sont maintenant mis en œuvre en utilisant l'Oniguruma moteur, plutôt que le fait maison utilisé dans ruby ​​1.8, permettant de nouvelles des fonctionnalités telles que la recherche négative.

  • le enumerator bibliothèque de stdlib a été ajouté au noyau et la plupart Enumerable les méthodes ont été changé pour retourner un Enumerator lorsqu'il est invoqué sans bloc.

  • Symbol#to_proc a été ajouté.

  • Il y a une nouvelle syntaxe pour lambdas, -> qui permet des arguments par défaut et lambda prenant des blocs.

Il y a une liste plus complète des changements ici.


1 pour la réponse № 2

Un point majeur pourrait être qu'ils utilisent une machine virtuelle différente (du moins, les distributions "standard" le font, il y a évidemment un certain nombre d'options comme MacRuby, IronRuby, etc.). Vous pourriez jeter un oeil ici pour plus de détails sur tous les changements.