Programování

Ruby 2.7 zlepšuje sběr odpadků, porovnávání vzorů

Ruby 2.7, nejnovější upgrade programovacího jazyka Ruby, je nyní obecně k dispozici jako produkční verze. Nové vydání přináší vylepšení v uvolňování paměti, porovnávání vzorů a REPL (read-eval-print-loop).

Novinkou v Ruby 2.7 je zhutnění odpadu, které se používá k defragmentaci fragmentovaného paměťového prostoru. The GC.compact metoda komprimuje objekty v haldě tak, aby bylo použito méně stránek. Členové vývojového týmu Ruby vysvětlili, že některé vícevláknové programy Ruby mohou způsobit fragmentaci paměti, což vede k vysokému využití paměti a degradaci rychlosti.

Mezi další vylepšení v Ruby 2.7.0 patří:

  • Schopnost experimentovat s porovnáváním vzorů, která může procházet daným objektem a přiřadit hodnotu, pokud odpovídá vzoru. Porovnávání vzorů je široce používáno ve funkčních programovacích jazycích.
  • Víceřádkové úpravy jsou nyní podporovány v irb, interaktivní Ruby shell. K dispozici je také integrace s rdoc, dokumentačním systémem Ruby. S irb, mohou vývojáři zobrazit odkaz na třídu, metodu nebo modul. Také zdrojové řádky zobrazené na vazba.irb a zkontrolovat výsledky pro objekty třídy jádra jsou nyní vybarveny.
  • Automatický převod klíčových slov a pozičních argumentů byl zastaralý. Tato funkce bude v Ruby 3 odstraněna.
  • U stále experimentálního kompilátoru just-in-time (JIT), který byl poprvé představen v Ruby 2.6, je kód JIT znovu zkompilován do méně optimalizovaného kódu, když byla optimalizace zneplatněna. Dále se vkládání metody provádí, když je metoda považována za čistou. Mnoho metod však dosud není považováno za čisté.
  • An Enumerable # tally spočítá výskyt každého prvku.
  • Také je představen očíslovaný parametr jako výchozí parametr bloku.

Ruby 2.7 si můžete stáhnout z ruby-lang.org.