Po roce vývoje je vydáno vydání Ruby 2.6.0, dynamický objektově orientovaný programovací jazyk, který se vyznačuje vysokou efektivitou vývoje softwaru a zahrnuje ty nejlepší vlastnosti Perl, Java, Python, Smalltalk, Eiffel, Ada a Lisp.
Kód projektu je distribuován pod licencemi BSD („2-klauzule BSDL“) a „Ruby“, které odkazují na nejnovější licenci GPL a jsou plně kompatibilní s GPLv3.
Ruby 2.6 je šestá hlavní verze, připravený jako součást plánovaného vývojového procesu, který zahrnuje vyčlenění roku na přípravu funkčních vylepšení a vytváření opravných verzí každé 2-3 měsíce.
Hlavní nové funkce v Ruby 2.6.0
S touto novou verzí Ruby přidána experimentální implementace kompilátoru JIT, což vám umožňuje výrazně zlepšit výkon aplikací v jazyce Ruby.
Na rozdíl od tradičních překladačů JIT, které generují strojové instrukce za běhu, navrhovaný kompilátor JIT v Ruby nejprve zapíše kód C na disk, poté zavolá externí kompilátor C a vygeneruje strojové instrukce (podporováno GCC, Clang a Microsoft VC ++).
Chcete-li povolit JIT, musíte při spuštění ruby zadat volbu „–jit“ nebo nastavit tuto možnost v proměnné prostředí RUBYOPT.
Ve srovnání s Ruby 2.5 je zahrnutí JIT v průměru 1.7krát vyšší než u aplikací náročných na CPU.
Zároveň je vývoj stále experimentální a nevhodný pro zatížení spojená s prací náročnou na paměť.
Další vylepšení, která byla získána v této verzi, byla RubyVM :: AbstractSyntaxTree experimentální modul, který poskytuje metodu analýzy, která zpracovává předané řetězce jako kód Ruby a vrací pro tento kód Abstract Syntax Tree (AST).
Alias „#then“ lze nyní použít pro přístup k metodě „Kernel # yield_self“. Pro metody „Array # |“ a „Array # -“ navrhly čitelnější aliasy „Array # union“ a „Array # Difference“.
Konstantní názvy nyní mohou začínat jinými velkými písmeny než ASCII.
Podpora byla poskytována také pro Transient Heap, theap určený pro objekty s krátkou životností pomocí specifických tříd (Array, Hash, Object, Struct).
Například díky theapu je vytváření malých, krátkodobých existujících hashů nyní dvakrát rychlejší. Test rdoc ukázal zvýšení výtěžku o 6-7%.
Pro zvýšení výkonu kontextových přepínačů jsou navrženy nativní implementace korutin pro architektury arm32, arm64, ppc64le, win32, win64, x86 a amd64. „Fiber.yield“ a „Fiber # resume“ na 64bitových systémech Linux nyní běží téměř 5krát rychleji.
Intenzivní programy obecně vykazují zvýšení výkonu o 5%.
Hlavní vylepšení v Ruby 2.6.0
Byla přijata aktualizovaná verze RubyGems 3.0.1, ve kterém byla ukončena podpora možností „–ri“ a „–rdoc“, místo toho byste měli používat „–document“ a „–no-document“.
Bundler je nyní ve výchozím nastavení nainstalován pro správu závislostí drahokamů.
Přidána podpora pro nedokončené rozsahy, například „ary [1 ..]“ nebo „(1 ..). Každý {…} ».
Z dalších vylepšení, které lze zvýraznit, najdete:
- Do metody systému Kernel # byla přidána možnost výjimky, aby se namísto vrácení hodnoty false zvýšila výjimka při chybě.
- Režim onehot byl přidán do modulu pokrytí, který kontroluje, zda se každý řádek provádí alespoň jednou.
- Třída Enumerator :: Chain a v ní implementované metody "Enumerable # chain" a "Enumerator # +" jsou přidány k vytvoření řetězců výčtových hodnot.
- Do modulů Proc a Method byla přidána podpora operátorů «<<» a «>>», například konstrukce «(f << g). Volání (3)» je identická s «f (g (3 )) ".
Jak nainstalovat Ruby 2.6.0 na Linux?
Chcete-li získat tuto novou verzi Ruby, jednoduše otevřete terminál v systému a zadejte jeden z následujících příkazů
Debian, Ubuntu a deriváty
sudo apt-get install ruby-full
CentOS, Fedora a RHEL
sudo yum install ruby
Gentoo
sudo emerge dev-lang/ruby
Arch Linux, Manjaro, Antergos a deriváty
sudo pacman -S ruby
openSUSE
sudo zypper install ruby
Příkazy apt-get yum atd. Přejdou do výchozích úložišť distribucí, které jsou obecně staré a nebudete mít verzi 2.6, ale jinou starou verzi.