Publicado por naruse el 2016-11-09
Traducción de Fernando Perales
Nos complace anunciar el lanzamiento de Ruby 2.4.0-preview3.
Ruby 2.4.0-preview3 es las tercer versión preelimiar de Ruby 2.4.0. Esta versión preview3 es liberada para obtener retroalimentación de la comunidad. Tómate la libertad de enviar tus comentarios ya que aún puedes influir en las funcionalidades.
Presentamos una mejora a las tablas de hash por Vladimir Makarov
Se mejora la estructura interna de las tablas de hash (st_table) al agregar direccionamiento abierto y arreglos con orden de inclusión. Esta mejora se discute con varias personas, especialmente con Yura Sokolov.
Binding#irb: Inicia una sesión de REPL al igual que binding.pry
Cuando estás depurando código, quizá usas p
frecuentemente para ver el valor de las variables.
Al usar pry y escribir binding.pry
en tu aplicación, se inicia un ciclo
REPL (Lectura-Evaluación-Impresión) donde puedes correr código de Ruby.
r56624 añade binding.irb
que se
comporta de la misma manera con irb.
Unificación de Fixnum y Bignum en Integer
A pesar de que ISO/IEC 30170:2012 no especifica detalles sobre la clase Integer, Ruby tuvo dos clases visibles para Integer: Fixnum y Bignum. Ruby 2.4 las unifica en Integer. Todas las extensiones que tocan las clases Fixnum o Bignum necesitan ser reparadas.
Ve también el incidente y la presentación de akr.
String soporta casos de mapeo en Unicode
String/Symbol#upcase/downcase/swapcase/capitalize(!)
ahora manejan
los casos de mapeo de Unicode en vez de únicamente los casos de mapeo de ASCII.
Mejoras de rendimiento
Ruby 2.4 también tiene las siguientes mejores de rendimiento incluyendo cambios en el lenguage:
Array#max, Array#min
[x, y].max
y [x, y].min
están optimizados para no crear un arreglo vacío temporal
bajo ciertas condiciones.
Regexp#match?
Se añade Regexp#match?
, ejecuta una comparación con expresiones regulares sin crear
un objeto de referencia y cambia $~ para ejecutar asignación de memoria.
Otras mejoras al rendimiento
Depuración
Thread#report_on_exception y Thread.report_on_exception
Ruby ignora excepciones en hilos a menos que otro hilo se les una explicitamente.
Con report_on_exception = true
,
puedes darte cuenta si un hilo ha muerto debido a una excepción no controlada.
Mándanos tu retroalimentación sobre cuál debería ser el comportamiento
predeterminado para report_on_exception
y sobre report-on-GC, que
muestra un reporte cuando un hilo es recogido por el recolector de basura sin unirse.
Detección de deadlocks en hilos ahora muestra los hilos con sus trazas y depencencias
Ruby tiene detección de deadlocks en los hilos que están a la espera, pero este reporte no incluye suficiente información para depuración. La detección de deadlocks en Ruby 2.4 muestra los hilos con sus respectivas trazas e hilos dependientes.
¡Prueba y disfruta programar con Ruby 2.4.0-preview3, y envíanos retroalimentación!
Otros cambios notables desde 2.3
- Soporte para OpenSSL 1.1.0
- ext/tk fue removido de stdlib Funcionalidad #8539
- XMLRPC fue removido de stdlib Funcionalidad #12160
Ve NEWS y ChangeLog para todos los detalles.
¡Con estos cambios, 2470 archivos cambiados, 283051 inserciones(+), 64902 supresiones(-) desde Ruby 2.3.0!
Descarga
-
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
Comentarios del lanzamiento
Mira también la agenda de lanzamientos y más información: