D ቋንቋ ማጠናከሪያ ልቀት 2.100

የዲ ፕሮግራሚንግ ቋንቋ አዘጋጆች ጂኤንዩ/ሊኑክስ፣ ዊንዶውስ፣ ማክሮስ እና ፍሪቢኤስዲ ሲስተሞችን የሚደግፍ ዋናውን የማጣቀሻ አጠናቃሪ ዲኤምዲ 2.100.0 መውጣቱን አቅርበዋል። የማጠናቀሪያው ኮድ በነጻ BSL (Boost Software License) ስር ይሰራጫል።

D በስታቲስቲክስ የተተየበ ነው፣ ከ C/C++ ጋር ተመሳሳይ የሆነ አገባብ ያለው፣ እና የተቀናጁ ቋንቋዎችን አፈጻጸም ያቀርባል፣ ከተለዋዋጭ ቋንቋዎች እድገት ቅልጥፍና እና ደህንነት ጥቅማ ጥቅሞች ውስጥ የተወሰኑትን በመዋስ። ለምሳሌ ለአሶሺዬቲቭ ድርድር፣ ለአይነት ኢንፈረንስ፣ አውቶማቲክ ማህደረ ትውስታ አስተዳደር፣ ትይዩ ፕሮግራም፣ አማራጭ ቆሻሻ ሰብሳቢ፣ የአብነት ስርዓት፣ የሜታ ፐሮግራም አካሎች፣ የC ቤተ-መጻሕፍት የመጠቀም ችሎታ እና አንዳንድ የC++ እና Objective-C ቤተ-መጻሕፍት ድጋፍ ይሰጣል።

በአዲሱ ልቀት ላይ የተደረጉ ለውጦች የሚከተሉትን ያካትታሉ፡-

  • በD1 ቅርንጫፍ ውስጥ ጥቅም ላይ የዋለው ኦፕሬተር ከመጠን በላይ የመጫን አሮጌ ዘይቤ ተቋርጧል። opNegን፣ opAdd_rን፣ opAddAssignን፣ ወዘተ ይተካል። opUnary፣ opBinary፣ opBinaryRight እና opOpAssign መጣ። የድሮው የኦፕሬተር ከመጠን በላይ የመጫን ዘይቤ በ2019 ተቋርጧል እና ከተለቀቀ በኋላ 2.100 ስህተት ይጥላል።
  • የመሰረዝ ቁልፍ ቃሉ ከ2018 ጀምሮ ተቋርጧል። ከመሰረዝ ይልቅ የመጥፋት ወይም የኮር.ሜሞሪ.__ሰርዝ ተግባርን መጠቀም አለቦት።
  • ኮዱ ልዩ ሁኔታዎችን ማስተናገድ በማይችልበት ጊዜ (ለምሳሌ በ@nogc ብሎኮች) ላይ እንደ አማራጭ የስህተት አያያዝ ዘዴ አዲስ የ@mustuse አይነታ ተተግብሯል። በ@mustuse ባህሪ ምልክት የተደረገበት አገላለጽ በኮድ ውስጥ ጥቅም ላይ ካልዋለ አቀናባሪው ስህተት ይፈጥራል።
  • ለስታቲክ ድርድሮች፣ የ ".tupleof" ንብረቱን መጠቀም የእያንዳንዱን የድርድር አካል የእሴቶችን ቅደም ተከተል (lvalue) እንዲያገኝ ተፈቅዶለታል። ባዶ foo(int, int, int) {/* … */} int[3] ia = [1, 2, 3]; foo (ia.tupleof); // አናሎግ foo (1, 2, 3); ተንሳፋፊ [3] fa; fa.tupleof = ia.tupleof; // ቀላል ምደባ fa = ia የስህተት ማረጋገጫን ያስከትላል (ፋ == [1F, 2F, 3F]);

ምንጭ: opennet.ru

አስተያየት ያክሉ