Egy év fejlesztés után megjelenik a Ruby 2.6.0 kiadás, dinamikus objektum-orientált programozási nyelv, amelyet magas szoftverfejlesztési hatékonyság jellemez, és amely magában foglalja a Perl, a Java, a Python, a Smalltalk, az Eiffel, az Ada és a Lisp legjobb tulajdonságait.
A projekt kódja a BSD licencek alatt kerül terjesztésre ("2-clause BSDL") és "Ruby", amelyek a legújabb GPL licencre utalnak és teljes mértékben megfelelnek a GPLv3 követelményeknek.
A Ruby 2.6 a hatodik nagyobb verzió, amelyet egy tervezett fejlesztési folyamat részeként készítettek el, amely magában foglal egy évet a funkcionális fejlesztések előkészítésére és a korrekciós változatok elkészítésére 2-3 havonta.
A Ruby 2.6.0 legfőbb újdonságai
A Ruby új kiadásával hozzáadta a JIT fordító kísérleti megvalósítását, amely lehetővé teszi az alkalmazások Ruby nyelvű teljesítményének jelentős javítását.
A hagyományos JIT-fordítóktól eltérően, amelyek menet közben generálnak gépi utasításokat, a Ruby-ban javasolt JIT-fordító először a C-kódot írja lemezre, majd felhívja a külső C-fordítót a gépi utasítások előállítására (GCC támogatott, Clang és Microsoft VC ++).
A JIT engedélyezéséhez meg kell adnia a "–jit" opciót a rubin indításakor, vagy be kell állítania ezt a beállítást a RUBYOPT környezeti változóba.
A Ruby 2.5-höz képest a JIT beépítése átlagosan 1.7-szerese a CPU-intenzív alkalmazások teljesítményének.
Ugyanakkor a fejlesztés még mindig kísérleti jellegű és alkalmatlan a memóriaintenzív munkához kapcsolódó terhelésekre.
Az ebben a verzióban elért további fejlesztések a RubyVM :: AbstractSyntaxTree kísérleti modul, amely olyan elemzési módszert biztosít, amely Ruby-kódként dolgozza fel az átadott karakterláncokat, és ehhez a kódhoz absztrakt szintaxisfát (AST) ad vissza.
A "#then" álnév már használható a "Kernel # hozam_mag" módszer eléréséhez. "Array # |" módszerekhez és az "Array # -" olvasmányosabb álneveket javasolt "Array # union" és "Array # Difference".
Az állandó nevek az ASCII-től eltérő nagybetűkkel kezdődhetnek.
Támogatást kaptak a Transient Heap is, a rövid élettartamú objektumok számára szánt theap, meghatározott osztályok (Array, Hash, Object, Struct) felhasználásával.
Például a theapnek köszönhetően a kicsi, rövid élettartamú meglévő hashok létrehozása most kétszer olyan gyors. Az rdoc teszt 6-7% -os növekedést mutatott.
A kontextuskapcsolók teljesítményének növelése érdekében javasoljuk a koroutinok natív megvalósítását az arm32, arm64, ppc64le, win32, win64, x86 és amd64 architektúrákhoz. A "Fiber.yield" és a "Fiber # resume" a 64 bites Linux rendszereken már majdnem ötször gyorsabban fut.
Az intenzív programok általában 5% -os teljesítménynövekedést mutatnak.
Jelentős fejlesztések a Ruby 2.6.0 verzióban
Megérkezett a RubyGems 3.0.1 frissített verziója, amelyben a „–ri” és a „–rdoc” opciók támogatása megszűnt, ahelyett, hogy a „–document” és a „–no-document” kifejezéseket használná.
A Bundler most alapértelmezés szerint telepítve van a drágakőfüggőségek kezelésére.
Támogatás a befejezetlen tartományokhoz, például "ary [1 ..]" vagy "(1 ..). Minden egyes {…} ".
A többi kiemelhető fejlesztés közül megtalálhatja:
- A Kivétel opció hozzá lett adva a Kernel # system metódushoz, hogy hamis visszatérés helyett kivételt tegyen a hibáról.
- A onehot mód volt hozzáadva a lefedettségi modulhoz, amely ellenőrzi, hogy minden sor végrehajt-e legalább egyszer.
- Az Enumerator :: Chain osztály és a benne végrehajtott "Enumerable # chain" és "Enumerator # +" módszerek hozzáadódnak a felsorolt értékek láncainak létrehozásához.
- A «<<» és «>>» operátorok támogatása hozzáadódott a Proc és a Method modulokhoz, például a «(f << g) .call (3)» konstrukció megegyezik az «f (g (3) )) ".
Hogyan telepítsük a Ruby 2.6.0-t Linux rendszerre?
A Ruby új verziójának megszerzéséhez nyissa meg a terminált a rendszerén, és írja be az alábbi parancsok egyikét
Debian, Ubuntu és származékai
sudo apt-get install ruby-full
CentOS, Fedora és RHEL
sudo yum install ruby
Gentoo
sudo emerge dev-lang/ruby
Arch Linux, Manjaro, Antergos és származékai
sudo pacman -S ruby
openSUSE
sudo zypper install ruby
Az apt-get yum etc parancsok a disztribúciók alapértelmezett tárházaihoz mennek, amelyek általában régiek, és nem a 2.6-os verziót fogja használni, hanem egy másik régi verziót.