Sgaoileadh cànan prògramadh Ruby 3.1

Chaidh Ruby 3.1.0 a leigeil ma sgaoil, cànan prògramaidh fiùghantach stèidhichte air nithean a tha gu math èifeachdach ann an leasachadh phrògraman agus a’ toirt a-steach na feartan as fheàrr de Perl, Java, Python, Smalltalk, Eiffel, Ada agus Lisp. Tha còd a’ phròiseict air a chuairteachadh fo cheadan BSD (“2-clause BSDL”) agus “Ruby”, a tha a’ toirt iomradh air an dreach as ùire de chead GPL agus a tha gu tur co-chòrdail ri GPLv3.

Prìomh leasachaidhean:

  • Chaidh inneal-cruinneachaidh JIT in-phròiseas deuchainneach ùr, YJIT, a chuir ris, air a chruthachadh le luchd-leasachaidh an àrd-ùrlar e-malairt Shopify mar phàirt de dh’ iomairt gus coileanadh phrògraman Ruby a leasachadh a bhios a ’cleachdadh frèam Rails agus a’ gairm mòran dhòighean. Is e am prìomh eadar-dhealachadh bhon inneal-cruinneachaidh MJIT JIT a chaidh a chleachdadh roimhe, a tha stèidhichte air a bhith a’ giullachd dhòighean slàn agus a’ cleachdadh inneal-cruinneachaidh taobh a-muigh ann an cànan C, gu bheil YJIT a’ cleachdadh Lazy Basic Block Versioning (LBBV) agus anns a bheil inneal-cruinneachaidh JIT aonaichte. Le LBBV, bidh JIT an-toiseach a’ cur ri chèile toiseach a’ mhodh, agus a’ cur ri chèile an còrr beagan ùine às deidh sin, às deidh na seòrsaichean caochladairean agus argamaidean a thathar a’ cleachdadh a dhearbhadh aig àm cur gu bàs. Nuair a bhathas a’ cleachdadh YJIT, chaidh àrdachadh 22% ann an coileanadh a chlàradh nuair a bhathas a’ ruith an deuchainn railsbench, agus àrdachadh 39% anns an deuchainn toirt seachad lionn. Tha YJIT an-dràsta cuingealaichte ri taic airson OSes coltach ri unix air siostaman le ailtireachd x86-64 agus tha e ciorramach gu bunaiteach (gus a chuir an gnìomh, sònraich am bratach “--yjit” anns an loidhne-àithne).
  • Coileanadh nas fheàrr aig an t-seann inneal-cruinneachaidh MJIT JIT. Airson pròiseactan a’ cleachdadh Rails, chaidh am meud tasgadan àbhaisteach (--jit-max-cache) àrdachadh bho 100 gu 10000 stiùireadh. Sguir a’ cleachdadh JIT airson dòighean le barrachd air 1000 stiùireadh. Gus taic a thoirt do Zeitwerk of Rails, chan eil còd JIT air a leigeil seachad tuilleadh nuair a bhios TracePoint air a chomasachadh airson tachartasan clas.
  • Tha e a’ toirt a-steach dì-bhugadair debug.gem gu tur ath-sgrìobhadh, a bheir taic do debugging iomallach, nach bi a’ slaodadh sìos an tagradh debugged, a’ toirt taic do aonachadh le eadar-aghaidh deasbaid adhartach (VSCode agus Chrome), faodar a chleachdadh airson debugging ioma-snàthainn agus ioma-phròiseas iarrtasan, a’ toirt seachad eadar-aghaidh cur an gnìomh còd REPL, a’ tabhann comasan lorg adhartach, is urrainn criomagan còd a chlàradh agus ath-chluich. Chaidh an debugger lib/debug.rb a chaidh a thairgsinn roimhe a thoirt a-mach às an sgaoileadh bunaiteach.
    Sgaoileadh cànan prògramadh Ruby 3.1
  • Cur an gnìomh soilleireachadh lèirsinneach de mhearachdan ann an aithisgean lorg air ais. Bithear a’ comharrachadh mhearachdan a’ cleachdadh a’ phacaid gem a chaidh a thogail a-steach agus a tha air a chomasachadh gu bunaiteach error_highlight. Gus comharrachadh mearachd a chuir dheth, faodaidh tu an suidheachadh “--disable-error_highlight” a chleachdadh. $ruby test.rb test.rb:1:in "": modh neo-mhìnichte "time" airson 1:Integer (NoMethodError) 1.time {} ^^^^^ An robh thu a' ciallachadh? amannan
  • Bidh an t-slige de àireamhachadh eadar-ghnìomhach IRB (REPL, Read-Eval-Print-Loop) a’ buileachadh crìochnachadh fèin-ghluasadach air a’ chòd a chaidh a chuir a-steach (mar a tha thu a’ sgrìobhadh, tha sanas air a thaisbeanadh le roghainnean airson cuir a-steach leantainneach, eadar an urrainn dhut gluasad leis an Tab no Shift + iuchair tab). Às deidh dhut an roghainn leantainneach a thaghadh, thèid bogsa deasbaid a thaisbeanadh faisg air làimh a sheallas na sgrìobhainnean co-cheangailte ris an rud taghte. Faodar ath-ghoirid a’ mheur-chlàir Alt+d a chleachdadh gus cothrom fhaighinn air na sgrìobhainnean slàn.
    Sgaoileadh cànan prògramadh Ruby 3.1
  • Tha an co-chòrdadh cànain a-nis a’ leigeil le luachan ann an litrichean hash agus argamaidean prìomh fhacal a bhith air an leum nuair a thathar a’ gairm ghnìomhan. Mar eisimpleir, an àite an abairt “{x: x, y: y}” faodaidh tu a-nis “{x:, y:}” a shònrachadh, agus an àite “foo(x: x, y: y)” - foo( x:, y:)".
  • Taic seasmhach airson maidsean pàtran aon-loidhne (ary => [x, y, z]), nach eil air an comharrachadh mar dheuchainneach tuilleadh.
  • Faodaidh abairtean neo-riaghailteach a bhith sa ghnìomhaiche "^" ann an maidsean pàtrain, mar eisimpleir: Prime.each_cons(2).lazy.find_all{_1 ann an [n, ^(n + 2)]}.take(3).to_a #= > ? [[3, 5], [5, 7], [11, 13]]
  • Ann am maidsean pàtrain aon-loidhne, faodaidh tu brathan a chur a-mach: [0, 1] => _, x {y: 2} => y: x #=> 1 y #=> 2
  • Tha an cànan notaichean seòrsa RBS, a leigeas leat structar a’ phrògraim agus na seòrsaichean a thathar a’ cleachdadh a dhearbhadh, air taic a chuir ris gus crìoch àrd nam paramadairean seòrsa a shònrachadh a’ cleachdadh an t-samhla “<”, taic a bharrachd airson ailiasan de sheòrsan coitcheann, taic gnìomhaichte airson cruinneachaidhean airson seudan a stiùireadh, coileanadh nas fheàrr agus mòran ainmean-sgrìobhte ùra a chuir an gnìomh airson leabharlannan togte agus àbhaisteach.
  • Chaidh taic deuchainneach airson àrainneachdan leasachaidh amalaichte a chur ris an anailisiche seòrsa statach TypePro, a bhios a’ gineadh notaichean RBS stèidhichte air mion-sgrùdadh còd às aonais fiosrachadh seòrsa soilleir (mar eisimpleir, chaidh tuilleadan ullachadh airson a bhith ag amalachadh TypePro leis an deasaiche VSCode).
  • Tha òrdugh giollachd ioma-ghnìomh air atharrachadh. Mar eisimpleir, roimhe seo chaidh na pàirtean den abairt “foo[0], bar [0] = baz, qux” a phròiseasadh san òrdugh baz, qux, foo, bar, ach a-nis foo, bar, baz, qux.
  • Taic deuchainneach a bharrachd airson riarachadh cuimhne airson sreangan a’ cleachdadh an uidheamachd VWA (Sònrachadh Leud Caochlaideach).
  • Tionndaidhean ùraichte de mhodalan gem togte agus an fheadhainn a tha san leabharlann àbhaisteach. Tha na pacaidean net-ftp, net-imap, net-pop, net-smtp, matrix, prime agus debug air an toirt a-steach.

Source: fosgailtenet.ru

Cuir beachd ann