Duplicar Possível:
Qual é a diferença entre o Ruby 1.8 e o Ruby 1.9?
Eu encontrei algumas diferenças na interpretação de variáveis globais e locais.
Alguém pode me apontar lista de grandes diferenças?
Respostas:
3 para resposta № 1Estas são provavelmente as mudanças mais importantes:
Ruby 1.9 mudou de ser interpretado para ser bytecode-compilado (usando o YARV VM).
A classe String foi redesenhada inteiramente para torná-lo ciente de codificação.
Expressões regulares são agora implementado usando o Oniguruma motor, ao invés do caseiro usado em ruby 1.8, permitindo novos recursos como look-around negativo.
o
enumerator
biblioteca de stdlib foi adicionado ao núcleo e maisEnumerable
métodos foram mudou para retornar umEnumerator
quando invocado sem um bloco.Symbol#to_proc
foi adicionado.Existe uma nova sintaxe para lambdas,
->
que permite argumentos padrão e lambdas tomando blocos.
Existe uma lista mais completa de mudanças Aqui.
1 para resposta № 2
Um ponto importante pode ser que eles usem uma VM diferente (pelo menos, as distribuições "padrão", obviamente, há uma série de opções como MacRuby, IronRuby, etc). Você pode dar uma olhada Aqui para detalhes sobre todas as alterações.