Ukukhutshwa kolwimi lwenkqubo lweNim 1.2.0

Yaziswa inkqubo yolwimi ukukhululwa Nim 1.2. Ulwimi lwesiNim lusebenzisa ukuchwetheza okumileyo kwaye lwenziwe ngeliso kwiPascal, C ++, Python kunye neLisp. Ikhowudi yemvelaphi ye-Nim ihlanganiswe ibe yi-C, C++, okanye i-JavaScript emele. Emva koko, ikhowudi yeC / C ++ enesiphumo iqulunqwe kwifayile ephunyezwayo usebenzisa nayiphi na i-compiler ekhoyo (clang, gcc, icc, Visual C ++), ekuvumela ukuba ufezekise ukusebenza kufutshane neC, ukuba awuyikuqwalasela iindleko zokuqhuba. umqokeleli wenkunkuma. Ngokufana nePython, iNim isebenzisa i-indentation njengezahluli zebhloko. Izixhobo zeMetaprogramming kunye nesakhono sokwenza iilwimi ezithe ngqo kwisizinda (DSLs) ziyaxhaswa. Ikhowudi yeprojekthi inikwe phantsi kwelayisenisi ye-MIT.

Utshintsho oluqaphelekayo kukhupho olutsha lubandakanya:

  • Kusetyenziswe umqokeleli wenkunkuma omtsha ARC ("-gc:arc").
  • Kwimodyuli "iswekile"Kongezwe iimacros ezintsha zokuqokelela, ukukopisha kunye nokubamba.
  • Yongezwe i-macro entsha "nge".
  • Inxalenye enkulu yeminxeba emitsha yongezwe kwithala leencwadi elisemgangathweni, kuquka i-strformat.fmt, strtabs.clear, browsers.osOpen, typetraits.tupleLen, typetraits.genericParams, os.normalizePathEnd, amaxesha.fromUnixFloat, os.isRelativeTo, times.isLeapDay , net.getPeerCertificates, jsconsole.trace, jsconsole.table, jsconsole.exception, sequtils.countIt, njl.
  • Kongezwe iimodyuli ezintsha ze-std/stackframes kunye ne-std/compilesettings.
  • Ukhetho "-asm" (uhlalutyo lwekhowudi yendibano eveliswayo) kunye ne "-panics: on" yokuphuma ngenkani kwi-IndexError kunye neempazamo ze-OverflowError zongezwe kumqokeleli, ngaphandle kokuba kunokwenzeka ukuba ubanjwe ngumqhubi "zama".
  • Ukubonwa okuphuculweyo kokuphuphuma kwebuffer okunokwenzeka.

umthombo: opennet.ru

Yongeza izimvo