/ Quais são as principais diferenças entre o Ruby 1.8.6 e 1.9.1? [duplicado] - rubi, rubi-1,9, rubi-1,8

Quais são as principais diferenças entre o Ruby 1.8.6 e 1.9.1? [duplicado] - rubi, rubi-1,9, rubi-1,8

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 № 1

Estas 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 mais Enumerable métodos foram mudou para retornar um Enumerator 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.