Vyšla nová verze Ruby 2.0.0

Ruby 2.0.0 je stabilní verze s několika vylepšeními oproti minulým verzím. Je zpětně kompatibilní s verzí 1.9 a připravena i pro nasazení v produkčním prostředí. Byla rozšířena také dokumentace této implementace oproti přechozí verzi.

Seznam novinek

Jádro jazyka
  • Argumenty klíčových slov.
  • Module#prepend; možnost vložit objekt, který nelze přetížit.
  • Zkratka %i pro tvorbu číselných polí.
  • __dir__ vrací cestu k souboru běžícího programu.
  • Výchozí kódování řetězců v programu je UTF-8.
Standardní knihovna
  • Enumerable#lazy, Enumerator#Lazy, Enumerator#size, Range#size.
  • #to_h, nová konvenční metoda pro převod na Hash.
  • Změna regexp enginu na Onigmo.
  • API pro asynchronní odchyt výjimek.
Podpora ladění
  • Podpora DTrace pro produkční diagnostiku běhu.
  • TracePoint, vylepšené trasovací API.
Vylepšení výkonu
  • GC pomocí bitmap marking.
  • Jaderná funkce require.
  • Operace s desetinnými čísly.
  • Odbavování metod ve VM.

Experimentálně je ve vydání nový koncept modularity v Ruby, Refinements.

Nekompamtibility
  • Iconv byl odstraněn. Náhradou je String#encode.
  • #lines, #chars, #codepoints, #bytes nyní vrací Array namísto Enumerator. Pro Enumerator existuje metoda #each_line.
  • Object#inspect už není delegován na #to_s

Odkazy na články