Čia yra šeštasis „Ruby 2.6.0“ programavimo kalbos atnaujinimas

„Ruby Linux“

Po metų plėtros paskelbiamas „Ruby 2.6.0“ leidimas, dinaminė į objektus orientuota programavimo kalba, pasižyminti dideliu programinės įrangos kūrimo efektyvumu ir apimančia geriausias „Perl“, „Java“, „Python“, „Smalltalk“, „Eiffel“, „Ada“ ir „Lisp“ savybes.

Projekto kodas platinamas pagal BSD licencijas („2 punktų BSDL“) ir „Ruby“, kurie nurodo naujausią GPL licenciją ir visiškai atitinka GPLv3.

„Ruby 2.6“ yra šeštoji pagrindinė versija, parengta kaip planuoto kūrimo proceso dalis, apimanti metus skirti funkciniams patobulinimams parengti ir koreguojančioms versijoms kurti kas 2–3 mėnesius.

Pagrindinės naujos „Ruby 2.6.0“ funkcijos

Su šiuo nauju „Ruby“ leidimu pridėjo eksperimentinį JIT kompiliatoriaus diegimą, tai leidžia žymiai pagerinti programų veikimą „Ruby“ kalba.

Skirtingai nuo tradicinių JIT kompiliatorių, generuojančių mašinų instrukcijas skriejant, siūlomas „Ruby“ kompiliatorius „Ruby“ programoje pirmiausia įrašo C kodą į diską, tada iškviečia išorinį C kompiliatorių, kad sukurtų mašinos instrukcijas (palaikomas GCC, „Clang“ ir „Microsoft VC ++“).

Norėdami įjungti JIT, turite nurodyti „–jit“ parinktį, kai pradedate rubiną, arba nustatykite šią parinktį RUBYOPT aplinkos kintamajame.

Palyginti su „Ruby 2.5“, JIT įtraukimas vidutiniškai 1.7 karto viršija intensyvaus procesoriaus programų našumą.

Tuo pačiu metu plėtra vis dar yra eksperimentinė ir netinkama krūviams, susijusiems su intensyviu atminties darbu.

Kiti šios versijos patobulinimai buvo RubyVM :: AbstractSyntaxTree eksperimentinis modulis, kuris pateikia analizės metodą, kuris apdoroja perduotas eilutes kaip „Ruby“ kodą ir grąžina šio kodo abstraktų sintaksės medį (AST).

Dabar slapyvardis „#then“ gali būti naudojamas norint pasiekti metodą „Branduolio # yield_self“. "Masyvo Nr. |" Metodams ir „Array # -“ pasiūlė labiau įskaitomus pseudonimus „Array # union“ ir „Array # Difference“.

Nuolatiniai pavadinimai dabar gali prasidėti didžiosiomis raidėmis, išskyrus ASCII.

Taip pat buvo teikiama parama trumpalaikiam krūvui, skirtam objektams, kurių tarnavimo laikas trumpas, naudojant specialias klases (masyvas, maišas, objektas, struktūra).

rubinas ant bėgių

Pavyzdžiui, theap'o dėka, esamų mažų, trumpalaikių maišų kūrimas dabar yra dvigubai greitesnis. Rdoc testas parodė, kad derlius padidėjo 6-7%.

Norint padidinti konteksto jungiklių našumą, siūloma naudoti įprastus korutinus „arm32“, „arm64“, „ppc64le“, „Win32“, „Win64“, „x86“ ir „amd64“ architektūroms. „Fiber.yield“ ir „Fiber # resume“ 64 bitų „Linux“ sistemose dabar veikia beveik 5 kartus greičiau.

Apskritai intensyvios programos rodo, kad našumas padidėjo 5%.

Pagrindiniai „Ruby 2.6.0“ patobulinimai

Gauta atnaujinta „RubyGems 3.0.1“ versija, kuriame buvo nutrauktas „–ri“ ir „–rdoc“ parinkčių palaikymas, vietoj to turėtumėte naudoti „–document“ ir „–no-document“.

„Bundler“ dabar įdiegta pagal numatytuosius nustatymus, kad būtų galima valdyti brangakmenių priklausomybes.

Pridėta neužbaigtų diapazonų parama, pavyzdžiui, „ary [1 ..]“ arba „(1 ..). Kiekvienas {…} ».

Iš kitų patobulintų patobulinimų galite rasti:

  • Išimties parinktis buvo pridėta prie branduolio # sistemos metodo, kad būtų išimtis dėl klaidos, užuot grąžinus klaidingą.
  • „Onehot“ režimas buvo pridėta prie aprėpties modulio, kuris tikrina, ar kiekviena eilutė vykdoma bent kartą.
  • „Enumerator :: Chain“ klasė ir joje įdiegti „Enumerable # chain“ ir „Enumerator # +“ metodai pridedami siekiant sukurti išvardytų verčių grandines.
  • Operatorių palaikymas «<<» ir «>>» buvo pridėtas prie „Proc“ ir „Method“ modulių, pavyzdžiui, konstrukcija «(f << g) .call (3)» yra identiška «f (g (3) )) ".

Kaip įdiegti „Ruby 2.6.0“ sistemoje „Linux“?

Norėdami gauti šią naują „Ruby“ versiją, tiesiog atidarykite sistemos terminalą ir įveskite vieną iš šių komandų

Debian, Ubuntu ir dariniai

sudo apt-get install ruby-full

„CentOS“, „Fedora“ ir RHEL

sudo yum install ruby

"Gentoo"

sudo emerge dev-lang/ruby

Arch Linux, Manjaro, Antergos ir dariniai

sudo pacman -S ruby

openSUSE

sudo zypper install ruby

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   Danielis sakė

    „Apt-get yum etc“ komandos eina į numatytąsias paskirstymų saugyklas, kurios paprastai yra senos ir turėsite ne 2.6, o kitą seną versiją.