D language compiler release 2.100

Gipresentar sa mga developers sa D programming language ang pagpagawas sa main reference compiler DMD 2.100.0, nga nagsuporta sa GNU/Linux, Windows, macOS ug FreeBSD nga mga sistema. Ang compiler code giapod-apod ubos sa libre nga BSL (Boost Software License).

Ang D kay statically typed, adunay syntax nga susama sa C/C++, ug naghatag sa performance sa mga compiled nga lengguwahe, samtang nanghulam sa pipila ka development efficiency ug security benefits sa dinamikong mga pinulongan. Pananglitan, naghatag kini og suporta alang sa mga associative arrays, type inference, automatic memory management, parallel programming, usa ka opsyonal nga garbage collector, usa ka template system, metaprogramming components, ang abilidad sa paggamit sa C library, ug pipila ka C++ ug Objective-C nga mga librarya.

Lakip sa mga pagbag-o sa bag-ong pagpagawas:

  • Ang daan nga istilo sa overloading sa operator nga gigamit sa sanga sa D1 wala na ipadayon. Gipuli ang opNeg, opAdd_r, opAddAssign, ug uban pa. miabut ang opUnary, opBinary, opBinaryRight ug opOpAssign. Ang daan nga istilo sa overloading sa operator wala na gigamit kaniadtong 2019 ug magbutang usa ka sayup sa pagpagawas sa 2.100.
  • Ang pagtangtang nga keyword wala na gigamit sukad 2018. Imbis nga tangtangon, kinahanglan nimong gamiton ang paglaglag o core.memory.__delete function.
  • Usa ka bag-ong @mustus nga hiyas ang gipatuman nga mahimong magamit sa istruktura ug mga tipo sa unyon ingon usa ka alternatibong pamaagi sa pagdumala sa sayup kung ang code dili makadumala sa mga eksepsiyon (pananglitan, sa mga bloke sa @nogc). Kung ang usa ka ekspresyon nga gimarkahan sa @mususe nga attribute wala gigamit sa code, ang compiler makamugna og sayop.
  • Alang sa mga static arrays, ang paggamit sa ".tupleof" nga propyedad gitugotan aron makuha ang han-ay sa mga kantidad (lvalue) sa matag elemento sa array. void foo(int, int, int) { /* … */ } int[3] ia = [1, 2, 3]; foo(ia.tupleof); // analogue foo(1, 2, 3); float[3] fa; fa.tupleof = ia.tupleof; // simple nga assignment fa = ia moresulta sa usa ka error assert(fa == [1F, 2F, 3F]);

Source: opennet.ru

Idugang sa usa ka comment