Po letu razvoja je objavljena izdaja Ruby 2.6.0, dinamičen objektno usmerjen programski jezik, za katerega je značilna visoka učinkovitost razvoja programske opreme in vključuje najboljše lastnosti Perl, Java, Python, Smalltalk, Eiffel, Ada in Lisp.
Koda projekta se distribuira pod licencami BSD ("BSDL z 2 klavzulama") in "Ruby", ki se nanaša na najnovejšo licenco GPL in je v celoti skladen z GPLv3.
Ruby 2.6 je šesta glavna različica, pripravljen kot del načrtovanega razvojnega procesa, ki vključuje dodelitev leta za pripravo funkcionalnih izboljšav in ustvarjanje korektivnih različic vsake 2-3 mesece.
Glavne novosti v Ruby 2.6.0
S to novo izdajo Rubyja dodal poskusno izvedbo prevajalnika JIT, ki vam omogoča znatno izboljšanje delovanja aplikacij v jeziku Ruby.
Za razliko od tradicionalnih prevajalnikov JIT, ki sproti generirajo strojna navodila, predlagani prevajalnik JIT v Rubyju najprej zapiše kodo C na disk, nato pa pokliče zunanji prevajalnik C, da ustvari strojna navodila (podprta GCC, Clang in Microsoft VC ++).
Če želite omogočiti JIT, morate med zagonom ruby določiti možnost »–jit« ali to možnost nastaviti v spremenljivki okolja RUBYOPT.
V primerjavi z Ruby 2.5 je vključitev JIT v povprečju 1.7-krat večja od zmogljivosti CPU aplikacij.
Hkrati je razvoj še vedno eksperimentalen in neprimeren za obremenitve, povezane z intenzivnim spominskim delom.
Druge izboljšave, ki so bile pridobljene v tej različici, so bile RubyVM :: AbstractSyntaxTree eksperimentalni modul, ki ponuja metodo razčlenjevanja, ki posreduje nize kot kodo Ruby in za to kodo vrne drevo abstraktne sintakse (AST).
Zdaj lahko vzdevek "# then" uporabimo za dostop do metode "Kernel # yield_self". Za metode "Array # |" in "Array # -" je predlagal bolj berljivi vzdevki "Array # union" in "Array # Difference".
Konstantna imena se lahko zdaj začnejo z velikimi črkami, ki niso ASCII.
Podpora je bila zagotovljena tudi za prehodno kopico, ki je namenjena objektom s kratko življenjsko dobo z uporabo določenih razredov (matrika, razpršitev, objekt, struktura).
Na primer, zahvaljujoč theap-u je ustvarjanje majhnih kratkotrajnih obstoječih zgoščenih datotek zdaj dvakrat hitrejše. Test rdoc je pokazal povečanje donosa za 6-7%.
Za povečanje učinkovitosti preklopov konteksta so predlagane izvorne izvedbe podprogramov za arhitekture arm32, arm64, ppc64le, win32, win64, x86 in amd64. "Fiber.yield" in "Fiber # resume" v 64-bitnih sistemih Linux zdaj delujeta skoraj petkrat hitreje.
Na splošno intenzivni programi kažejo povečanje učinkovitosti za 5%.
Glavne izboljšave Rubyja 2.6.0
Prejela je posodobljeno različico RubyGems 3.0.1, v katerem je bila ukinjena podpora za možnosti »–ri« in »–rdoc«, namesto katere bi morali uporabiti »–document« in »–no-document«.
Bundler je zdaj privzeto nameščen za upravljanje odvisnosti od draguljev.
Dodana podpora za nedokončane obsege, na primer "ary [1 ..]" ali "(1 ..). Vsak {…} ».
Med ostalimi izboljšavami, ki jih je mogoče poudariti, lahko najdete:
- Možnost izjeme je bila dodana sistemski metodi Kernel #, da se vzpostavi izjema ob napaki, namesto da bi vrnila false.
- Onehot način je bil dodan modulu za kritje, ki preveri, ali se vsaka vrstica izvaja vsaj enkrat.
- Razred Enumerator :: Chain in v njem implementirani metodi "Enumerable # chain" in "Enumerator # +" so dodani za ustvarjanje verig oštevilčenih vrednosti.
- Podpora za operaterje «<<» in «>>» je dodana modulom Proc in Method, na primer konstrukcija «(f << g) .call (3)» je enaka «f (g (3 )) ".
Kako namestiti Ruby 2.6.0 na Linux?
Če želite dobiti to novo različico Rubyja, preprosto odprite terminal v sistemu in vnesite enega od naslednjih ukazov
Debian, Ubuntu in izpeljanke
sudo apt-get install ruby-full
CentOS, Fedora in RHEL
sudo yum install ruby
Gentoo
sudo emerge dev-lang/ruby
Arch Linux, Manjaro, Antergos in izpeljanke
sudo pacman -S ruby
openSUSE
sudo zypper install ruby
Ukazi apt-get yum itd gredo v privzete repozitorije distribucij, ki so običajno stari in ne boste imeli različice 2.6, ampak drugo staro različico.