Ngemuva konyaka wentuthuko, kukhishwa ukukhishwa kweRuby 2.6.0, ulimi oluhlelayo oluqondiswe entweni, olubonakala ngokusebenza kahle kokuthuthuka kwesoftware nokufaka izici ezinhle kakhulu zePerl, iJava, iPython, iSalltalk, i-Eiffel, i-Ada neLisp.
Ikhodi yephrojekthi isatshalaliswa ngaphansi kwamalayisense e-BSD ("Isigatshana esingu-2 BSDL") ne- "Ruby", esho ilayisense lakamuva le-GPL futhi ihambisana ngokuphelele ne-GPLv3.
URuby 2.6 inguqulo yesithupha enkulu, ilungiswe njengengxenye yenqubo yentuthuko ehleliwe, okubandakanya ukwabiwa konyaka ukulungiselela ukuthuthukiswa kokusebenza nokwenza izinguqulo zokulungisa njalo ezinyangeni ezi-2-3.
Izici ezintsha eziyinhloko kuRuby 2.6.0
Ngalokhu kukhishwa okusha kukaRuby ungeze ukuqaliswa kokuhlola komhlanganisi we-JIT, okukuvumela ukuthi uthuthukise kakhulu ukusebenza kwezicelo ngolimi lweRuby.
Ngokungafani nabahlanganisi bendabuko be-JIT, abenza imiyalo yomshini endizeni, umhlanganisi we-JIT ohlongozwayo kuRuby uqale abhale ikhodi ye-C kudiski, bese ebiza umhlanganisi wangaphandle we-C ukuthi akhiqize imiyalo yomshini (i-GCC isekelwa, iClang neMicrosoft VC ++).
Ukuze unike amandla i-JIT, kufanele ucacise inketho "-jit" lapho uqala i-ruby noma usethe le nketho kokuguquguqukayo kwemvelo kwe-RUBYOPT.
Uma kuqhathaniswa noRuby 2.5, ukufakwa kwezilinganiso ze-JIT izikhathi eziyi-1.7 ukusebenza kwezicelo ezinamandla ze-CPU.
Ngasikhathi sinye, intuthuko isalokhu iyisilingo futhi ayiyifanele kahle imithwalo ehambisana nomsebenzi omkhulu wokukhumbula.
Okunye ukuthuthuka okutholwe kule nguqulo kube yi I-RubyVM :: module yokuhlola ye-AbstractSyntaxTree, enikeza indlela yokuhlaziya ecubungula izintambo ezidlulisiwe njengekhodi yeRuby bese ibuyisa i-Abstract Syntax Tree (AST) yale khodi.
I-alias "#then" manje ingasetshenziselwa ukufinyelela indlela ye- "Kernel # yield_self". Okwezindlela ze- "Array # |" kanye ne- "Array # -" iphakamise iziteketiso ezingafundeka kakhudlwana "I-Array # union" ne- "Array # Difference".
Amagama ajwayelekile manje angaqala ngezinhlamvu ezinkulu ngaphandle kwe-ASCII.
Ukusekelwa kwahlinzekelwa futhi ngeNqwaba Yesikhashana, i-theap eyenzelwe izinto ezinesikhathi esifushane sokuphila kusetshenziswa amakilasi athile (Array, Hash, Object, Struct).
Isibonelo, ngenxa ye-theap, ukudala ama-hashes amancane, aphile isikhathi esifushane manje sekuphindwe kabili. Ukuhlolwa kwe-rdoc kukhombise ukwanda kwesivuno sika-6-7%.
Ukukhulisa ukusebenza kokushintshwa komongo, kuphakanyiswa ukusetshenziswa kwendabuko kwama-coroutine kwe-arm32, arm64, ppc64le, win32, win64, x86, ne-amd64 izakhiwo. I- "Fiber.yield" ne- "Fiber # resume" kumasistimu angama-64-bit Linux manje asebenza cishe cishe ka-5 ngokushesha.
Ngokuvamile, izinhlelo ezinamandla zibonisa ukwanda kokusebenza kuka-5%.
Ukuthuthuka okukhulu kuRuby 2.6.0
Uhlobo olusha lweRubyGems 3.0.1 selutholakele, lapho ukusekelwa kwezinketho ze- "–ri" ne "–rdoc" kuyekiwe, esikhundleni salokho okufanele usebenzise khona "- idokhumende" ne "–no-document".
IBundler manje isifakwe ngokuzenzakalela ukuphatha ukuncika kwamagugu.
Kungezwe ukusekelwa kwamabanga angaqediwe, isibonelo, "ary [1 ..]" noma "(1 ..). I- {…} »ngayinye.
Kokunye ukuthuthuka okungagqanyiswa, ungathola:
- Inketho ehlukile ingeziwe kundlela yohlelo lweKernel # ukuphakamisa okuhlukile ngephutha esikhundleni sokubuyisa okungamanga.
- Imodi ye-oneshot ibilokhu ikhona ingezwe kwimodyuli yokumboza, ebheka ukuthi umugqa ngamunye wenza okungenani kanye.
- Isigaba se-Enumerator :: Chain nezindlela ze- "Enumerable # chain" kanye ne- "Enumerator # +" ezifakiwe kuyo ziyangezwa ukudala amaketanga wamanani abaliwe.
- Ukusekelwa kwabasebenza «<<» no «>>» kungeziwe kumamojula we-Proc and Method, ngokwesibonelo, ukwakhiwa «(f << g) .call (3)» kuyefana ne- «f (g (3) )) ".
Ungayifaka kanjani iRuby 2.6.0 kuLinux?
Ukuthola le nguqulo entsha yeRuby, vele uvule i-terminal kusistimu yakho bese uthayipha omunye wemiyalo elandelayo
I-Debian, Ubuntu kanye nokuphuma
sudo apt-get install ruby-full
I-CentOS, i-Fedora, ne-RHEL
sudo yum install ruby
I-Gentoo
sudo emerge dev-lang/ruby
I-Arch Linux, iManjaro, i-Antergos kanye nokunye okutholakele
sudo pacman -S ruby
vulaSUSE
sudo zypper install ruby
Imiyalo ye-apt-get yum njll iya ezindaweni zokugcina ezabiwayo, ngokuvamile ezindala futhi ngeke ube nohlobo 2.6 kodwa olunye uhlobo oludala.