Eisiúint na teanga ríomhchlárúcháin Crystal 1.16

Foilsíodh scaoileadh na teanga ríomhchlárúcháin Crystal 1.16, agus tá na forbróirí ag iarraidh áisiúlacht na forbartha sa teanga Ruby a chomhcheangal le tréith ardfheidhmíochta iarratais na teanga C. Tá comhréir Crystal gar do Ruby, ach níl sé ag luí go hiomlán leis, cé go ritheann roinnt clár Ruby gan mhodhnú. Tá an cód tiomsaitheora scríofa i Crystal agus a dháileadh faoi cheadúnas Apache 2.0.

Úsáideann an teanga seiceáil cineál statach, a chuirtear i bhfeidhm gan gá na cineálacha athróg agus argóintí modh a shonrú go sainráite sa chód. Déantar cláir chriostail a thiomsú i gcomhaid inrite, agus déantar macraí a mheasúnú agus gintear cód ag am tiomsaithe. I gcláir Crystal, is féidir ceangail scríofa i C a nascadh. Déantar comhthreomhaireacht ar fhorghníomhú cód ag baint úsáide as an eochairfhocal "sceitheadh", a ligeann duit tasc cúlra a reáchtáil i mód asincrónach gan bac a chur ar an bpríomhshnáithe, i bhfoirm snáitheanna éadroma ar a dtugtar snáithíní.

Cuireann an leabharlann chaighdeánach sraith feidhmeanna tipiciúla ar fáil, lena n-áirítear uirlisí chun CSV, YAML, agus JSON a phróiseáil, comhpháirteanna chun freastalaithe HTTP a chruthú agus tacaíocht WebSocket. Le linn na forbartha, is féidir leat an t-ordú "crystal play" a úsáid, a ghineann comhéadan gréasáin (localhost:8080 de réir réamhshocraithe) le haghaidh forghníomhú idirghníomhach cód Crystal.

Athruithe móra:

  • Cuireadh tacaíocht thurgnamhach leis chun snáitheanna éadroma (snáithín) a rith i gcomhthéacsanna forghníomhaithe ar leithligh (Comhthéacsanna Forghníomhaithe), rud a cheadaíonn forghníomhú comhthreomhar níos éifeachtaí ar thascanna - ní stadann forghníomhú i gcomhthéacs amháin mar thoradh ar shnáitheanna a bhlocáil i gcomhthéacs amháin. mt_context = Fiber::ExecutionContext::MultiThreaded.new("worker-threads", 4) 10 uair déan mt_context.spawn déan do_something deireadh deireadh gtk = Fiber::ExecutionContext::Isolated.new("Gtk") déan Gtk.main deireadh gtk.wait
  • Soláthraíonn an modh Slice.literal anois tátal cineáil maidir le heilimintí atá i slisne, agus cuireann sé tacaíocht le bheith ag obair in ateangaire.
  • Soláthraíonn méid agus ailíniú na macraí faisnéis faoi chineálacha cobhsaí.
  • Cuireadh modhanna nua leis an leabharlann chaighdeánach: Indexable#find, #find!, EventLoop#wait_readable, agus #wait_writable.
  • Tá leagan fada den rogha "-o", "--output", ag an tiomsaitheoir, agus tá an cumas curtha i bhfeidhm chun eolaire a shonrú in ionad comhaid (roghnófar ainm an chomhaid de réir ainm an chomhaid leis an gcód).
  • Tá an cumas ag gineadóir na ndoiciméad anois rudaí príobháideacha agus cosanta, chomh maith le rudaí i gceangal leabharlainne (lib, spraoi, aontas, cstruct, seachtrach, cineál) a chur san áireamh sa doiciméadú.
  • Sa "File.match?" modh Tá algartam meaitseála cosán comhaid nua curtha i bhfeidhm, rud a chuir deireadh le roinnt fadhbanna agus teorainneacha. Mar shampla, éalaíonn carachtar (masc "\\t" le "\t" ach ní mheaitseálann sé an carachtar "t"), scoilteadh cosáin (meaitseálann an masc "a**" le "ab" ach teipeann ar "ab/c", agus meaitseálann an masc "**/a" a"), patrúin neadaithe (meaitseálann an "{[}]}" masc "}"), agus raonta (an masc "[esa-"") anois i gceart.
  • Na iarmhíreanna "?" a bheith laghdaithe in ainmneacha na bparaiméadar i sainmhínithe (defs), macraí, agus bloic. Agus "!".
  • Sna modhanna Enumerable#sum agus #product, baineadh an cinneadh uathoibríoch ar an gcineál fillte más aontas an cineál eiliminte. Agus na modhanna seo á nglaoch agat, ní mór duit an cineál a shonrú go sainráite anois, mar shampla, in ionad “[1, 10000000000_u64].sum” ba chóir duit “[1, 10000000000_u64].sum(0_u64)” a scríobh.
  • HTTP:: Cinntíonn an t-iarratas parsáil ceart na gcodanna URL.
  • Tacaíocht bhreise don tsraith tiomsaitheoir LLVM 20.
  • Tá na glaonna chuig LLVM::ABI agus LLVM ::TargetMachine#abi imithe i léig.

    Foinse: oscailtenet.ru

Add a comment