Ruby 2.6 – Vuelve a casa por navidad 6v4g38

18/01/2019

Como todos los años, Papá Noel nos ha traído una nueva versión de Ruby, la 2.6, vamos a...

Como todos los años, Papá Noel nos ha traído una nueva versión de Ruby, la 2.6, vamos a destriparla bien para ver todos los nuevos juguetitos que nos trae Ruby para este 2019.
Aquí os voy a dejar por escrito todas las novedades que explico en este episodio de full stack podcast, algunas referencias a las principales actualizaciones.
De hecho, aquí tienes la web oficial de ruby-lang.org donde se describen de forma detalladas los cambios que comento y muchos más en esta nueva versión 2.6 de Ruby.
De todas formas, aquí os dejo unas cuantas notas rápidas:
Novedades de Ruby 2.6:

Nuevo compilador JIT (Experimental
RubyVM::AbstractSyntaxTree (Experimental)
Alias Para Kernel#yield_self -> #then
Los nombres de las constantes pueden empezar con un carácter que no sea una mayúscula ASCII
Se introducen los rangos sin fin (1..
Añade ‘Enumerable#chain’ y ‘Enumerator#+’
Añade operadores compuestos ‘<<‘ y ‘>>’ a Proc y Method
Añade ‘Binding#source_location’ – Devuelve la fuente del binding, tecnicamente devuelve un ‘eval(“[__FILE__, __LINE__]”, binding) A partir de ahora se recomienda usar Binding#source_location en lugar de Kernel#eval
Se ha añadido una opción de excepción a Kernel#system que hace que salte una excepción en lugar de devolver un false
Se añade un “oneshot mode to ‘Coverage’”
Se añade ‘FileUtils#_lr’ – Funciona como _r pero enlaza en lugar de copiar
In exception handling blocks, `else` without `rescue` now causes a 
syntax error. (experimental
Unicode is updated to version 11. We have plans to add 
Unicode version 12 and 12.1 in a future TEENY release of Ruby 
2.6. This will include for the [new Japenese 
era
 [Bundler](https://github.com/bundler/bundler) Ahora es una gema estándar.
Mejoras en el rendimiento
Se ha acelerado ‘Proc#call’ eliminando el almacenamiento temporal de la vaiable de entorno ‘$SAFE’ Se ha observado una mejora x1.4
Se acelera block.call cuando block se pasa como un parámetro de bloque. En Ruby 2.6 la evaluación de bloques es hasta 2.6x más rápida, se han mejorado las rutinas de manejo de bloques introducidas en Ruby 2.5
Se ha introducido ’theap’ (Transient heap) `theap` is managed heap for short-living memory objects which are pointed by specific classes (`Array`, `Hash`, `Object`, and `Struct`).
Ejecucion de hilos. Implementación nativa (`arm32`, `arm64`, `ppc64le`, `win32`, `win64`, `x86`, `amd64`) de corutinas para mejorar el context mejorando significativamente el rendimiento de hilos de proceso
Además, también os dejo el enlace a la herramienta de la semana, la gema Rubocop, la cual revisa cómo estamos escribiendo nuestro código y nos ayuda a respetar la guía de estilo y escribir mejor código Ruby.
La entrada Ruby 2.6 – Vuelve a casa por navidad aparece primero en Antonio Pérez.

WordPress, ese viejo amigo +1 año 44:20 IDEs: Atom vs VIM +1 año 01:05:29 AWS – EC2 y S3 +1 año 38:54 ¿Pero tienes la descripción funcional alma de Dios? +1 año 41:08 Ruby on Rails 6 +1 año 36:34 Ver más en APP Comentarios del episodio 2l2c3a