Con qualche giorno di ritardo, segnalo la disponibilità di una nuova release del linguaggio Ruby: Ruby 1.8.7.
Ruby 1.8.7 include numerosi bugfix ma, soprattutto, alcune novità prese in prestito da Ruby 1.9.0.
Tra queste, quella più attesa ma soprattutto più significativa è l'introduzione della classe Enumerable::Enumerator, nonché la sua integrazione all'interno di moltissimi metodi già esistenti.
Un'esempio? Direttamente dalla lista dei cambiamenti di Ruby 1.8.7 ecco le modifiche ad alcuni metodi della classe Array.
- Array#collect!
- Array#map!
- Array#each
- Array#each_index
- Array#reverse_each
- Array#reject
- Array#reject!
- Array#delete_if
Return an enumerator if no block is given.
Note that #map and #collect still return an array unlike Ruby 1.9 to keep compatibility.
Ma le modifiche riguardano anche Dir, Object, Hash, Integer e molte altre classi.
Consiglio vivamente la lettura della lista delle novità .
Tra gli altri cambiamenti meritano una segnalazione l'introduzione della cartella vendor_ruby,
A new library directory named `vendor_ruby' is introduced in addition to `site_ruby'. The idea is to separate libraries installed by the package system (`vendor') from manually (`site') installed libraries preventing the former from getting overwritten by the latter, while preserving the user option to override vendor libraries with site libraries. (`site_ruby' takes precedence over `vendor_ruby')
il supporto SSL/TSL in Net::SMTP, il supporto a feed Atom e moduli ITunes e Slash per RSS.
A differenza di Ruby 1.9.0, Ruby 1.8.7 non è una release di sviluppo e si consiglia l'aggiornamento sui server, non prima di aver verificato le incompatibilità con le versioni precedenti, indicate nel solito file NEWS.
Se vuoi aggiornamenti su Ruby inserisci la tua email nel box qui sotto: