Scaoileadh teanga ríomhchláraithe Ruby 3.1

Eisíodh Ruby 3.1.0, teanga ríomhchláraithe dinimiciúil atá dírithe ar oibiachtaí atá an-éifeachtach i bhforbairt clár agus a chuimsíonn na gnéithe is fearr de Perl, Java, Python, Smalltalk, Eiffel, Ada agus Lisp. Déantar an cód tionscadail a dháileadh faoi na ceadúnais BSD (“2-chlásal BSDL”) agus “Ruby”, a thagraíonn don leagan is déanaí den cheadúnas GPL agus atá ag luí go hiomlán le GPLv3.

Príomhfheabhsúcháin:

  • Tá tiomsaitheoir JIT in-phróiseas turgnamhach nua, YJIT, curtha leis, cruthaithe ag forbróirí an ardáin ríomhthráchtála Shopify mar chuid de thionscnamh chun feabhas a chur ar fheidhmíocht na gclár Ruby a úsáideann creat Rails agus a ghlaonn go leor modhanna. Is í an phríomhdhifríocht ón tiomsaitheoir MJIT JIT a úsáideadh roimhe seo, atá bunaithe ar mhodhanna iomlána a phróiseáil agus a úsáideann tiomsaitheoir seachtrach sa teanga C, ná go n-úsáideann YJIT Leaganacha Bunúsacha Bloc Lazy (LBBV) agus go bhfuil tiomsaitheoir JIT comhtháite ann. Le LBBV, ní dhéanann JIT ach tús an mhodha a thiomsú ar dtús, agus déanann sé an chuid eile a thiomsú tamall ina dhiaidh sin, tar éis na cineálacha athróg agus argóintí a úsáidtear a chinneadh le linn forghníomhaithe. Agus YJIT á úsáid, taifeadadh méadú 22% ar fheidhmíocht nuair a bhí an tástáil railsbench á rith, agus méadú 39% ar an tástáil rindreála leachta. Faoi láthair tá YJIT teoranta do thacaíocht d'OSes atá cosúil le unix ar chórais a bhfuil ailtireacht x86-64 acu agus tá sé díchumasaithe de réir réamhshocraithe (chun an bhratach “--yjit” a shonrú sa líne ordaithe).
  • Feidhmíocht fheabhsaithe ar shean-thiomsaitheoir JIT MJIT. Maidir le tionscadail a úsáideann Rails, méadaíodh an t-uasmhéid réamhshocraithe taisce (--jit-max-cache) ó 100 go 10000 treoir. Stopadh úsáid a bhaint as JIT le haghaidh modhanna le níos mó ná 1000 treoir. Chun tacú le Zeitwerk of Rails, ní chuirtear an cód JIT i leataobh a thuilleadh nuair a bhíonn TracePoint cumasaithe le haghaidh imeachtaí ranga.
  • Áiríonn sé dífhabhtóir debug.gem athscríofa go hiomlán, a thacaíonn le dífhabhtú cianda, ní mhoillíonn sé an t-iarratas dífhabhtaithe, tacaíonn sé le comhtháthú le comhéadain dífhabhtaithe chun cinn (VSCode agus Chrome), is féidir é a úsáid le haghaidh feidhmchláir il-snáithithe agus ilphróisis a dhífhabhtú, soláthraíonn comhéadan forghníomhaithe cód REPL, cuireann sé ardchumas rianaithe ar fáil, is féidir gearrthóga cód a thaifeadadh agus a athsheinn. Baineadh an dífhabhtóir lib/debug.rb a tairgeadh roimhe seo den dáileadh bonn.
    Scaoileadh teanga ríomhchláraithe Ruby 3.1
  • Cuireadh béim amhairc ar earráidí i dtuarascálacha rian ar ais. Cuirtear bratacháil earráide ar fáil ag baint úsáide as an bpacáiste gem ionsuite agus réamhshocraithe error_highlight. Chun bratach earráide a dhíchumasú, is féidir leat an socrú "--disable-error_highlight" a úsáid. $ruby test.rb test.rb:1:in " ": modh neamhshainithe "time" le haghaidh 1: Slánuimhir (NoMethodError) 1.time {} ^^^^^ An raibh i gceist agat? amanna
  • Cuireann sliogán na n-áireamh idirghníomhach IRB (REPL, Read-Eval-Print-Loop) comhlánú uathoibríoch an chóid iontráilte i bhfeidhm (de réir mar a chlóscríobhann tú, taispeántar leid ina bhfuil roghanna le haghaidh ionchur leanúnach, idir ar féidir leat bogadh leis an gCluaisín nó Shift+ Eochair cluaisín). Tar éis duit an rogha leanúnach a roghnú, taispeántar bosca dialóige in aice láimhe a thaispeánann an doiciméadú a bhaineann leis an mír roghnaithe. Is féidir an aicearra méarchláir Alt+d a úsáid chun rochtain a fháil ar an gcáipéisíocht iomlán.
    Scaoileadh teanga ríomhchláraithe Ruby 3.1
  • Ceadaíonn an chomhréir teanga anois luachanna i liteartha hash agus argóintí eochairfhocail a scipeáil agus feidhmeanna á nglao. Mar shampla, in ionad na slonn “{x: x, y: y}” is féidir leat “{x:, y:}” a shonrú anois, agus in ionad “foo(x: x, y: y)” - foo( x:, y:)".
  • Tacaíocht chobhsaithe do mheaitseálacha patrún aonlíne (ary => [x, y, z]), nach bhfuil bratacha turgnamhacha a thuilleadh.
  • Is féidir le habairtí treallacha a bheith san oibreoir "^" anois i meaitseálacha patrún, mar shampla: Prime.each_cons(2).lazy.find_all{_1 in [n, ^(n + 2)]}.take(3).to_a #= > ? [[3, 5], [5, 7], [11, 13]]
  • I meaitseáil patrún aonlíne, is féidir lúibíní a fhágáil ar lár: [0, 1] => _, x {y: 2} => y: x #=> 1 y #=> 2
  • Chuir an teanga nótaí cineáil RBS, a ligeann duit struchtúr an chláir agus na cineálacha a úsáidtear a chinneadh, tacaíocht bhreise chun uasteorainn na bparaiméadar cineáil a shonrú ag baint úsáide as an tsiombail “<”, tacaíocht bhreise le haghaidh ailiasanna de chineálacha cineálacha, tacaíocht curtha i bhfeidhm do bailiúcháin chun GEMS a bhainistiú, feidhmíocht feabhsaithe agus cuireadh go leor sínithe nua i bhfeidhm do leabharlanna ionsuite agus caighdeánacha.
  • Cuireadh tacaíocht thrialach do thimpeallachtaí forbartha comhtháite leis an anailíseoir cineál statach TypePro, a ghineann nótaí RBS bunaithe ar anailís chóid gan faisnéis shainráite de chineál (mar shampla, ullmhaíodh breiseán chun TypePro a chomhtháthú leis an eagarthóir VSCode).
  • Athraíodh ord próiseála na dtascanna iolracha. Mar shampla, roimhe seo próiseáladh comhpháirteanna na slonn “foo[0], barra[0] = baz, qux” san ord baz, qux, foo, bar, ach anois foo, bar, baz, qux.
  • Cuireadh tacaíocht thurgnamhach leis le haghaidh leithdháileadh cuimhne le haghaidh teaghráin ag baint úsáide as meicníocht VWA (Cionroinnt Leithead Athraitheach).
  • Leaganacha nuashonraithe de mhodúil GEM ionsuite agus iad siúd atá san áireamh sa leabharlann chaighdeánach. Tá na pacáistí glan-ftp, glan-imap, glan-pop, glan-smtp, maitrís, príomh-agus dífhabhtaithe ionsuite.

Foinse: oscailtenet.ru

Add a comment