Ruby 2.7 poboljšava prikupljanje smeća, usklađivanje uzoraka

Ruby 2.7, najnovija nadogradnja programskog jezika Ruby, sada je općenito dostupna kao produkcijsko izdanje. Novo izdanje donosi poboljšanja u sakupljanju smeća, podudaranju uzoraka i REPL (read-eval-print-loop).

Novo u Ruby 2.7 je sabiranje smeća koje se koristi za defragmentiranje fragmentiranog memorijskog prostora. GC.compactMetoda compacts predmete u hrpu, tako da su manje stranica koristi. Članovi Ruby razvojnog tima objasnili su da neki Ruby programi s više niti mogu uzrokovati fragmentaciju memorije, što dovodi do velike iskorištenosti memorije i brze degradacije.

Ostala poboljšanja Rubyja 2.7.0 uključuju:

  • Sposobnost podudaranja uzorka, koja može preći zadani objekt i dodijeliti vrijednost ako se podudara s uzorkom. Podudaranje obrazaca široko se koristi u funkcionalnim programskim jezicima.
  • Uređivanje više linija sada je podržano u irbinteraktivnoj Ruby ljusci. Također je osigurana integracija s rdoc, sustavom dokumentacije Ruby. Uz to irbprogrameri mogu prikazati referencu za klasu, metodu ili modul. Također, izvorne linije prikazane na binding.irbi pregledavaju rezultate za objekte osnovne klase sada su obojene.
  • Zastarela je automatska pretvorba ključnih riječi i pozicijskih argumenata. Ova će značajka biti uklonjena u Ruby 3.
  • Za još uvijek eksperimentalni „just-in-time” kompajler (JIT), prvi put predstavljen u Ruby 2.6, JIT-ov kod se prekomplicira u manje optimizirani kôd kada je optimizacija poništena. Nadalje, umetanje metode izvodi se kada se metoda smatra čistom. Međutim, mnoge se metode još ne smatraju čistima.
  • Enumerable#tally Broji pojavu svaki element.
  • Također je predstavljen numerirani parametar kao zadani parametar bloka.

Ruby 2.7 možete preuzeti s ruby-lang.org.