Ruby 2.3.x cosa c’è di nuovo?

Gesù Bambino quest’anno ci porterà Ruby 2.3  🙂

Vediamo insieme le principali novità:

Safe Navigation Operator

Quante volte nel nostro codice dovendo chiamare un metodo di un oggetto scordiamo di verificare se l’oggetto è istanziato oppure è nil?

I nostri programmi sono farciti di

aObject.aMethod if aObject

o meglio

aObject && aObject.aMethod

con Ruby 2.3 grazie al safe navigation operator  &. possiamo semplificare tutto:

aObject&.aMethod

 Frozen Strings Literal

In Ruby di default le stringhe sono oggetti mutable, cioè possiamo modificarne il contenuto senza riassegnarle:

s = 'foo'
s[0] = 'm'

Per rendere immutable una stringhe possiamo utilizzare il metodo #freeze

s = 'bar'.freeze

Poichè da Ruby 3.x le stringhe diventeranno per default immutable, nella versione 2.3 è stato introdutto un comando che ci aiuterà a prendere confidenza con questa nuova feature: è sufficiente aggiungere un commento all’inizio del file .rb

#frozen_string_literal: true

Ma perchè le stringhe devono essere immutable?  Per migliorare le prestazioni: utilizzando le stringhe immutable  viene allocata meno memoria per questi oggetti. Per approfondire l’argomento leggete l’articolo di Alexis Mas  immutable strings in ruby 2.3

Per oggi è tutto, il seguito nel prossimo articolo!

Le informazioni sopra esposte sono tratte dall’ articolo pubblicato da  Nithin Bekal