Ir-rilaxx tal-kompilatur tal-lingwa D 2.100

L-iżviluppaturi tal-lingwa ta 'programmar D ippreżentaw ir-rilaxx tal-kompilatur ta' referenza prinċipali DMD 2.100.0, li jappoġġja sistemi GNU/Linux, Windows, macOS u FreeBSD. Il-kodiċi tal-kompilatur huwa mqassam taħt il-BSL (Boost Software License) b'xejn.

D huwa ttajpjat b'mod statiku, għandu sintassi simili għal C/C++, u jipprovdi l-prestazzjoni ta 'lingwi kkumpilati, filwaqt li jissellef xi wħud mill-effiċjenza tal-iżvilupp u l-benefiċċji tas-sigurtà ta' lingwi dinamiċi. Pereżempju, jipprovdi appoġġ għal matriċi assoċjati, inferenza tat-tip, ġestjoni awtomatika tal-memorja, programmazzjoni parallela, kollettur taż-żibel mhux obbligatorju, sistema ta 'mudelli, komponenti ta' metaprogrammazzjoni, il-kapaċità li tuża libreriji C, u xi libreriji C++ u Objective-C.

Fost il-bidliet fir-rilaxx il-ġdid:

  • L-istil antik ta 'tagħbija żejda tal-operatur użat fil-fergħa D1 twaqqaf. Jissostitwixxi opNeg, opAdd_r, opAddAssign, eċċ. daħal opUnary, opBinary, opBinaryRight u opOpAssign. L-istil antik ta 'tagħbija żejda tal-operatur kien deprecated fl-2019 u se tarmi żball mir-rilaxx 2.100.
  • Il-kelma prinċipali ħassar ilha deprecata mill-2018. Minflok tħassar, għandek tuża l-funzjoni destroy jew core.memory.__delete.
  • Ġie implimentat attribut @mustuse ġdid li jista 'jiġi applikat għal tipi ta' struct u union bħala metodu alternattiv ta 'ġestjoni ta' żbalji meta l-kodiċi ma jistax jimmaniġġja eċċezzjonijiet (per eżempju, fi blokki @nogc). Jekk espressjoni mmarkata bl-attribut @mustuse ma tintużax fil-kodiċi, il-kompilatur jiġġenera żball.
  • Għal arrays statiċi, l-użu tal-proprjetà ".tupleof" huwa permess biex tinkiseb is-sekwenza ta 'valuri (lvalue) ta' kull element tal-array. void foo(int, int, int) { /* … */ } int[3] ia = [1, 2, 3]; foo(ia.tupleof); // analogu foo(1, 2, 3); float[3] fa; fa.tupleof = ia.tupleof; // assenjazzjoni sempliċi fa = ia tirriżulta fi żball assert(fa == [1F, 2F, 3F]);

Sors: opennet.ru

Żid kumment