Što je novo u Ruby 2.6

Ruby 2.6, najnovija verzija časnog dinamičnog jezika, sada je dostupna kao produkcijsko izdanje.

Što je novo u Ruby 2.6

Ruby 2.6 dodaje početnu implementaciju JIT-a (just-in-time compiler) radi poboljšanja izvedbe izvršavanja programa. Rubyev JIT kompajler zapisuje C kôd na disk i proizvodi proces C kompajlera za generiranje izvornog koda. JIT kompajler je podržan kada Ruby izgradi GCC kompajler, Clang ili Microsoft Visual C ++, koji mora biti dostupan u vrijeme izvođenja.

Ostale nove značajke Ruby 2.6 uključuju:

  • U promjeni jezika, $SAFEproces je globalno stanje i 0 se može ponovo postaviti.
  • Poboljšana izvedba block.callkada blockse predaje kao blockparametar.
  • Proc#call je ubrzan.
  • Eksperimentalni  RubyVM::ASTmodul koji ima metodu raščlanjivanja koja raščlanjuje kôd niza i vraća AST čvorove. Također,  parse_ filemetoda raščlanjuje datoteku koda i vraća AST čvorove.
  • Eksperimentalna RubyVM::AST::Nodeklasa postavlja podatke o lokaciji i podređuje čvorove od Node predmeta.
  • Konstantna imena mogu počinjati velikim početnim slovom koje nije ASCII.
  • Uvode se beskrajni dometi, koji djeluju kao da im nema kraja.
  • theapUvedena theapje privremena hrpa ( ) koja služi kao upravljana gomila za kratkotrajne memorijske objekte na koje upućuju određene klase.
  • Podrška za Unicode sada je u verziji 11.
  • Bundler, za upravljanje ovisnostima o draguljima, sada je zadani dragulj.

Gdje preuzeti Ruby 2.6

Ruby 2.6 možete preuzeti s web stranice projekta Ruby.

Prethodna verzija: Ruby 2.5

Stigavši ​​na Božić 2017., Ruby 2.5.0 prvo je stabilno izdanje u seriji 2.5.

Pojačava performanse za 5 do 10 posto uklanjanjem uputa za praćenje iz bajt-koda za koje je utvrđeno da su nadređeni. Umjesto toga koristi se tehnika dinamičke instrumentacije. Također, prolazak bloka pored parametra bloka napravljen je tri puta brže nego što je to bio slučaj u Ruby 2.4, upotrebom tehnike dodijeljivanja Lazy Proc.

Ostale značajke koje poboljšavaju performanse uključuju:

  • Generiranje dokumenata pojačano je prelaskom s naslijeđenog leksičkog analizatora s IRB-a na Ripper.
  • Predmet Mutexje prepisan kako bi bio manji i brži. Mutexmože se koristiti za upravljanje pristupom zajedničkim podacima iz istodobnih niti.
  • ERB generira kôd iz predloška dvostruko brže od verzije 2.4.
  • Učinak je poboljšan u izgrađen-in metode, uključujući Array#concat, Enumerable#sort_byi String#concat.

Ostala poboljšanja u Ruby 2.5 uključuju:

  • Struct/new može stvoriti klase koje prihvaćaju argumente ključnih riječi.
  • Do/endblokovi će sada raditi izravno s ensure/rescue/else.
  • Knjižnica pp.rb učitava se automatski.
  • Dodana je opcija za ispis povratnih tragova obrnutim redoslijedom. Namjera je dobiti glavnu poruku o pogrešci bez potrebe za pomicanjem.
  • Da bi se poboljšalo ispitivanje, nudi se podrška za mjerenje pokrivenosti grana i metoda. Pokrivenost podružnica otkriva koje se grane izvršavaju, dok pokrivenost metoda pokazuje na koje se metode poziva.

Ruby 2.5 također sadrži ispravku programske pogreške u biblioteci SecureRandom za generiranje slučajnih brojeva, koja sada više voli OS-ove izvore u odnosu na OpenSSL. Također, standardne knjižnice poput cmath, csv, date, dbm i ipaddr promovirane su u dragulje.

Gdje preuzeti Ruby 2.5

Verziju 2.5 možete preuzeti otvaranjem ove datoteke tar.gz ili ove Zip datoteke.