Programmering

Ruby 2.7 forbedrer søppeloppsamling, mønstermatching

Ruby 2.7, den siste oppgraderingen av Ruby-programmeringsspråket, er nå generelt tilgjengelig som en produksjonsutgivelse. Den nye utgivelsen gir forbedringer i søppelinnsamling, mønstermatching og REPL (read-eval-print-loop).

Nytt i Ruby 2.7 er komprimeringsavfallssamling, som brukes til å defragmentere et fragmentert minne. De GC.compact metoden komprimerer objektene i dyngen slik at færre sider blir brukt. Medlemmer av Ruby-utviklingsteamet forklarte at noen Ruby-programmer med flere tråder kan forårsake minnefragmentering, noe som fører til høy minneutnyttelse og hastighetsnedbrytning.

Andre forbedringer i Ruby 2.7.0 inkluderer:

  • En eksperimentell mønstertilpasningsevne, som kan krysse et gitt objekt og tildele en verdi hvis det samsvarer med et mønster. Mønster matching er mye brukt i funksjonelle programmeringsspråk.
  • Flerlinjeredigering støttes nå i irb, det interaktive Ruby-skallet. Integrasjon med rdoc, Ruby-dokumentasjonssystemet, er også gitt. Med irb, kan utviklere vise referansen for en klasse, metode eller modul. Også kildelinjer vist på binding.irb og inspiser resultatene for kjerneklasseobjekter som nå er fargelagt.
  • Automatisk konvertering av søkeord- og posisjonsargumenter er avviklet. Denne funksjonen vil bli fjernet i Ruby 3.
  • For den fortsatt eksperimentelle just-in-time (JIT) kompilatoren, først introdusert i Ruby 2.6, kompileres JIT-ed-koden til mindre optimalisert kode når en optimalisering er ugyldiggjort. Videre utføres metodeinnføring når en metode anses som ren. Imidlertid er mange metoder ennå ikke ansett som rene.
  • An Utallige # stemmer teller forekomsten av hvert element.
  • Det er også introdusert en nummerert parameter som standard blokkparameter.

Du kan laste ned Ruby 2.7 fra ruby-lang.org.

$config[zx-auto] not found$config[zx-overlay] not found