
Descripción de Ruby 2.6 – Vuelve a casa por navidad 321f4i
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. t521a
Comentarios de Ruby 2.6 – Vuelve a casa por navidad 21666l