Escrito por naruse em 09/11/2016
Traduzido por Filipe Rocha
Temos o gosto de anunciar a versão 2.4.0-preview3 do Ruby.
A versão 2.4.0-preview3 do Ruby é a terceira preview do Ruby 2.4.0, lançada com o fim de obter feedback da comunidade.
Poderão enviar feedback uma vez que ainda podem influenciar das funcionalidades.
Introdução de melhorias nas hash tables por Vladimir Makarov
Melhorar a estrutura interna da hash table (st_table) introduzindo o open addressing e introdução de um array com a ordem de inclusão.
Binding#irb: Iniciar uma sessão REPL como binding.pry
Enquanto está a fazer o debug, poderá utilizar p
para listar o valor das variáveis.
Com o pry e incluindo binding.pry
na sua aplicação,
será lançado este REPL para correr qualquer código ruby.
r56624 introduz binding.irb
com o mesmo comportamento para o irb.
Unificar as classes Fixnum e Bignum na classe Integer
Apesar do ISO/IEC 30170:2012 não especificar os detalhes da classe Integer, o Ruby teve duas classes Integer visíveis: Fixnum and Bignum. O Ruby 2.4 unifica-as na classe Integer. Todas as extensões C que utilizam a classe Fixnum ou Bignum necessitam de ser corrigidas.
Consultar também o ticket e os slides do akr.
String suporta Unicode case mappings
String/Symbol#upcase/downcase/swapcase/capitalize(!)
manipula, agora,
maiúsculas e minúsculas em Unicode em vez de o fazer somente em ASCII.
Melhorias de desempenho
O Ruby 2.4 contém, também, as seguintes melhorias na performance incluindo melhorias na linguagem:
Array#max, Array#min
[x, y].max
e [x, y].min
estão optimizados para evitar a criação de um array temporário em certas condições.
Regexp#match?
Adicionado Regexp#match?
, que executa um regexp match sem a criação
de um objecto de referência e alterando $~
para reduzir a alocação de objectos.
Outras melhorias de desempenho
Depuração
Thread#report_on_exception and Thread.report_on_exception
O Ruby ignora exceções nas threads, a não ser que outra thread se junte a elas.
Utilizando report_on_exception = true
,
poderá verificar se uma thread terminou devido a uma exceção não tratada.
Enviem-nos feedback sobre qual deverá ser o valor pré-definido para report_on_exception
e sobre report-on-GC, que mostra um relatório quando uma thread é garbage collected sem se juntar.
Deteção de deadlocks em threads mostra todas as threads com o seu backtrace e dependencias
O Ruby tem deteção de deadlocks de threads em espera, mas relatório não inclui informação suficiente para depuração. A deteção de deadlocks no Ruby 2.4 mostra threads com o seu backtrace e threads dependentes.
Experimente e desfrute a programação com o Ruby 2.4.0-preview3 e envie-nos o seu feedback!
Outras alterações importantes desde a versão 2.3
- Suporta OpenSSL 1.1.0
- ext/tk foi removido de stdlib Feature #8539
- XMLRPC foi removido de stdlib Feature #12160
Consultar as Notícias e o ChangeLog para detalhes.
Com todas as alterações, 2470 ficheiros alterados, 283051 inserções(+), 64902 eliminações(-) desde o Ruby 2.3.0!
Download
-
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview3.tar.bz2
SIZE: 12615328 bytes SHA1: fefe49f6a7d5b642936c324f3b05aaac827355db SHA256: 305a2b2c627990e54965393f6eb1c442eeddfa149128ccdd9f4334e2e00a2a52 SHA512: 6602c65a7b1e3bc680acc48217108f4335e84fdd74a9cf06f2e2f9ad00a2fccacf9fa035a912bc9d5cc3f0c7a5e21475971dfac37b0364311ef3645f25c7ddf9
-
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview3.tar.gz
SIZE: 15758023 bytes SHA1: f6a6ec9f7fedad0bf4efee2e42801cc963f60dca SHA256: c35fe752ccfabf69bf48e6aab5111c25a05938b428936f780638e2111934c9dd SHA512: 68556d5252b6813b4c8eeba32733e940207f80694b5c5d20e69bf01eb52929ed2466496b05a895a5ad4831d430695e17624eb35b728b2d4d7cf02df756ac48b4
-
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview3.tar.xz
SIZE: 9957596 bytes SHA1: 66592b1a52f985638d639e7c3dd6bdda4e0569d0 SHA256: b14be2b5c80bff0d6894ae2b37afdb17a968413e70236ec860f3e2d670b4c317 SHA512: 5be20f0b2609745790c2b22f2228e69a840f63c34a117a1f95fd5436af211f0a6db2758d513d3e095a2d97c53c80793579cb2a1e00e70cf72c487a88c4a40d33
-
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview3.zip
SIZE: 17579012 bytes SHA1: 15d08cff952da3844ae54887b7f74b12d47c9ee2 SHA256: b95a8f67fb7d6e852db77c5660c8878c14d68eb72c5501dac164a7e640ecb06e SHA512: fa15e1b7ab0cab56c9a580e1b1e2fee250ee0b9c59546079675a1931a36e37131bd37d64033c75e05d8e9d9fcc33ce7850254d3acaca2136cf3bd08b070244f0
Comentários de Lançamento
Consulte também o calendário de lançamentos e outras informações: