Rilasciato Ruby 2.0.0-rc2

Ruby 2.0.0-rc2 è stato rilasciato. Questa sarà l'ultima release candidate di Ruby 2.0.0.

Provalo e notificaci in merito a qualsiasi problema.

Download

Nuove funzionalità della versione 2.0.0

  • Argomenti con parole chiave
  • Enumerable#lazy
  • Module#prepend
  • #to_h: Convenzione per convertire ad Hash
  • %i: un espressione letterale per un array di simboli
  • Aggiornato il motore delle espressioni regolari: Onigmo (un fork di Oniguruma)
  • Introduzione di Enumerator#size e Range#size
  • Supporto DTrace
  • TracePoint
  • Ottimizzazione di require (specialmente su Windows)
  • Supporto NativeClient
  • Miglioramenti alla documentazione
  • Migliorata gestione degli interrupt asincroni
  • Tuning dei parametri di stack size a launch-time
  • Raffinamenti [sperimentale]

… e molti altri miglioramenti. Vedi le notizie per i dettagli.

Qui ci sono alcuni articoli introduttivi scritti da terze parti:

(Se vuoi fornirci altri articoli, li potremo citare o menzionare nel prossimo annuncio)

Note

Incompatibilità

Ci sono alcune incompatibilità degne di nota di cui siamo a conoscenza:

  • L'encoding di default per gli script Ruby è ora UTF-8 [#6679]. Alcune persone riportano che questo può creare qualche problema a programmi già esistenti, per esempio alcuni programmi di benchmark potrebbero diventare più lenti [ruby-dev:46547]. Questa specifica potrebbe cambiare con la versione ufficiale.
  • iconv è stato rimosso, dal momento che era già stato deprecato quando M17N è stato introdotto in Ruby 1.9. Utilizza String#encode, ecc. al suo posto.
  • Rottura di ABI (Application Binary Interface) [ruby-core:48984]. Normalmente, gli utenti dovrebbero solamente reinstallare le estensioni. Ricordati di NON COPIARE file .so o .bundle dalla versione 1.9.

Altre incompatibilità minori. [ruby-core:49119] Se trovi altre incompatibilità, per favore notificacele.

Stiamo inoltre creando delle note per l'aggiornamento, ma alcune parti non sono più aggiornate.

Stato dei Raffinamenti

La versione 2.0.0 includerà i raffinamenti (refinements) come una "funzionalità sperimentale", siccome non siamo ancora tutti d'accordo su alcuni dettagli riguardanti le specifiche. Il comportamento di questa funzionalità potrà cambiare in future versioni di Ruby.

Ringraziamenti speciali

L'autore ringrazia tutti coloro che hanno provato le versioni preview e rc1!

Grazie a tutti i collaboratori, che con il loro duro lavoro hanno corretto molti bachi, e grazie a tutti le persone che hanno aiutato l'autore a preparare questa versione.