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 № 1Ce 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 plupartEnumerable
les méthodes ont été changé pour retourner unEnumerator
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.