Kutulutsidwa kwa chilankhulo cha pulogalamu ya Crystal 1.5

Kutulutsidwa kwa chinenero cha pulogalamu ya Crystal 1.5 kwasindikizidwa, omwe akuyambitsa omwe akuyesera kugwirizanitsa chitukuko cha chinenero cha Ruby ndi mawonekedwe apamwamba a chinenero cha C. Syntax ya Crystal ili pafupi, koma sagwirizana kwathunthu ndi, Ruby, ngakhale mapulogalamu ena a Ruby amayenda popanda kusinthidwa. Khodi yophatikiza imalembedwa ku Crystal ndikugawidwa pansi pa layisensi ya Apache 2.0.

Chilankhulochi chimagwiritsa ntchito kuwunika kwamtundu wa static, kukhazikitsidwa popanda kufunikira kulongosola momveka bwino mitundu yamitundu ndi njira zotsutsana mu code. Mapulogalamu a Crystal amapangidwa kukhala mafayilo otheka, ndi ma macros amawunikidwa ndi ma code omwe amapangidwa panthawi yophatikiza. M'mapulogalamu a Crystal, ndizotheka kulumikiza zomangira zolembedwa mu C. Kufanana kwa ma code execution kumachitika pogwiritsa ntchito mawu ofunikira a "spawn", omwe amakulolani kuyendetsa ntchito yakumbuyo mosagwirizana, popanda kutsekereza ulusi waukulu, ngati ulusi wopepuka wotchedwa ulusi.

Laibulale yokhazikika imapereka ntchito zambiri zofananira, kuphatikiza zida zosinthira CSV, YAML, ndi JSON, zida zopangira ma seva a HTTP, ndi chithandizo cha WebSocket. Panthawi yachitukuko, ndi bwino kugwiritsa ntchito lamulo la "crystal play", lomwe limapanga mawonekedwe a intaneti (localhost:8080 mwachisawawa) kuti agwiritse ntchito code mu chinenero cha Crystal.

Zosintha zazikulu:

  • Wopangayo wawonjezera cheke cha kulemberana kwa mayina a mkangano pakukhazikitsa njira yodziwika bwino komanso tanthauzo lake. Ngati pali dzina losagwirizana, chenjezo tsopano laperekedwa: abstract class FooAbstract abstract def foo(nambala : Int32) : Nil end class Foo < FooAbstract def foo(name : Int32) : Nil p name end end 6 | def foo(dzina : Int32) : Nil ^β€” Chenjezo: 'dzina' lokhazikika limafanana ndi 'nambala' ya njira yochotsedwa FooAbstract#foo(nambala : Int32), yomwe ili ndi dzina losiyana ndipo ingakhudze mkangano womwe watchulidwa.
  • Popereka mkangano ku njira yosasindikizidwa ku mtengo wa kusintha, mkangano tsopano ukukanizidwa ku mtundu wa kusinthako. class Foo @x : Int64 def initialize(x) @x = x # parameter x ilembedwa @x kumapeto
  • Imakulolani kuti muwonjezere zomasulira ku magawo a njira kapena ma macros. def foo(@[MaybeUnused] x); kumaliza # OK
  • Thandizo lowonjezera la kugwiritsa ntchito zosinthika monga ma indices ndi mayina mu ma tuples. KEY = "s" foo = {s: "String", n: 0} amaika foo[KEY].size
  • Njira Zatsopano za Fayilo#delete? zawonjezedwa ku Fayilo API yochotsa mafayilo ndi maulondo. ndi Dir#delete?, zomwe zimabwerera zabodza ngati fayilo kapena chikwatu chikusowa.
  • Chitetezo cha njira ya File.tempfile chalimbikitsidwa, chomwe tsopano sichilola zilembo zopanda pake m'mizere yomwe imapanga dzina la fayilo.
  • Zosintha zachilengedwe NO_COLOR, zomwe zimalepheretsa kuwunikira kwamitundu muzophatikiza ndi zomasulira.
  • Ntchito yomasulira yawongoleredwa kwambiri.

Source: opennet.ru

Kuwonjezera ndemanga