Pēc gada attīstības tiek publicēts Ruby 2.6.0 izlaidums, dinamiska objektorientēta programmēšanas valoda, kurai raksturīga augsta programmatūras izstrādes efektivitāte un kurā iekļautas Perl, Java, Python, Smalltalk, Eiffel, Ada un Lisp labākās īpašības.
Projekta kods tiek izplatīts ar BSD licencēm ("2 klauzula BSDL") un "Ruby", kas attiecas uz jaunāko GPL licenci un pilnībā atbilst GPLv3.
Rubīns 2.6 ir sestā galvenā versija, kas sagatavota kā daļa no plānotā izstrādes procesa, kas paredz gada piešķiršanu funkcionālo uzlabojumu sagatavošanai un koriģējošu versiju izveidošanai ik pēc 2-3 mēnešiem.
Galvenās jaunās funkcijas Ruby 2.6.0
Ar šo jauno Ruby laidienu pievienoja JIT kompilatora eksperimentālu ieviešanu, kas ļauj ievērojami uzlabot lietojumprogrammu veiktspēju Ruby valodā.
Atšķirībā no tradicionālajiem JIT kompilatoriem, kas ģenerē mašīnu instrukcijas lidojuma laikā, Ruby piedāvātais JIT kompilators vispirms ieraksta C kodu diskā, pēc tam izsauc ārējo C kompilatoru, lai ģenerētu mašīnas instrukcijas (GCC atbalstīts, Clang un Microsoft VC ++).
Lai iespējotu JIT, jums ir jānorāda opcija “–jit”, sākot rubīnu, vai jāiestata šī opcija vides mainīgajā RUBYOPT.
Salīdzinot ar Ruby 2.5, JIT iekļaušana vidēji 1.7 reizes pārsniedz CPU intensīvu lietojumu veiktspēju.
Tajā pašā laikā attīstība joprojām ir eksperimentāla un slikti piemērota slodzēm, kas saistītas ar intensīvu atmiņas darbu.
Citi uzlabojumi, kas tika iegūti šajā versijā, bija RubyVM :: AbstractSyntaxTree eksperimentālais modulis, kas nodrošina parsēšanas metodi, kas nodotās virknes apstrādā kā Ruby kodu un šim kodam atgriež abstraktās sintakses koku (AST).
Tagad aizstājvārdu "#then" var izmantot, lai piekļūtu metodei "Kernel # yield_self". Metodēm "Masīvs # |" un "Array # -" ieteica lasāmākus aizstājvārdus "Array # union" un "Array # Difference".
Pastāvīgie nosaukumi tagad var sākties ar lielajiem burtiem, izņemot ASCII.
Atbalsts tika sniegts arī īslaicīgai kaudzei, kas ir paredzēta objektiem ar īsu kalpošanas laiku, izmantojot īpašas klases (masīvs, hašišs, objekts, struktūra).
Piemēram, pateicoties theap, esošo mazo, īslaicīgo jaucējkrānu izveide tagad ir divreiz ātrāka. Rdoc tests parādīja ražas pieaugumu par 6-7%.
Lai palielinātu konteksta slēdžu veiktspēju, tiek ierosinātas korutīnu vietējās ieviešanas par arm32, arm64, ppc64le, win32, win64, x86 un amd64 arhitektūrām. "Fiber.yield" un "Fiber # resume" 64 bitu Linux sistēmās tagad darbojas gandrīz 5 reizes ātrāk.
Parasti intensīvas programmas parāda veiktspējas pieaugumu par 5%.
Būtiskākie uzlabojumi rubīnā 2.6.0
Ir saņemta atjaunināta RubyGems 3.0.1 versija, kurā ir pārtraukts atbalsts opcijām “–ri” un “–rdoc”, kuru vietā jāizmanto “–document” un “–no-document”.
Komplektētājs tagad pēc noklusējuma ir instalēts, lai pārvaldītu dārgakmeņu atkarības.
Pievienots atbalsts nepabeigtiem diapazoniem, piemēram, "ary [1 ..]" vai "(1 ..). Katrs {…} ".
Starp citiem uzlabojumiem, kurus var izcelt, varat atrast:
- Metode Kernel # system ir pievienota opcija Izņēmums, lai kļūdas vietā atgrieztu kļūdu.
- Vienreizējais režīms ir bijis pievienots pārklājuma modulim, kas pārbauda, vai katra rinda tiek izpildīta vismaz vienu reizi.
- Klase Enumerator :: Chain un tajā ieviestās metodes "Enumerable # chain" un "Enumerator # +" tiek pievienotas, lai izveidotu uzskaitīto vērtību ķēdes.
- Atbalsts operatoriem «<<» un «>>» ir pievienots Proc un Method moduļiem, piemēram, konstrukcija «(f << g) .call (3)» ir identiska ar «f (g (3) )) ".
Kā Linux instalēt Ruby 2.6.0?
Lai iegūtu šo jauno Ruby versiju, vienkārši atveriet terminālu savā sistēmā un ierakstiet vienu no šīm komandām
Debian, Ubuntu un atvasinājumi
sudo apt-get install ruby-full
CentOS, Fedora un RHEL
sudo yum install ruby
Gentoo
sudo emerge dev-lang/ruby
Arch Linux, Manjaro, Antergos un atvasinājumi
sudo pacman -S ruby
openSUSE
sudo zypper install ruby
Komandas apt-get yum etc nonāk noklusējuma izplatītāju krātuvēs, kas parasti ir vecas, un jums nebūs 2.6, bet cita vecā versija.