Inguqulelo entsha yeNim 0.20 yolwimi lokuprograma

yathatha indawo inkqubo yolwimi ukukhululwa Nim 0.20.0. Ulwimi lusebenzisa ukuchwetheza okumileyo kwaye lwenziwe ngePascal, C ++, Python kunye neLisp engqondweni. 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 njenge-block delimiters. Izixhobo zeMetaprogramming kunye nesakhono sokwenza iilwimi ezithe ngqo kwisizinda (DSLs) ziyaxhaswa. Ikhowudi yeprojekthi inikwe phantsi kwelayisenisi ye-MIT.

Ukukhutshwa kwe-Nim 0.20 kunokuthathwa njengomviwa wokukhutshwa kokuqala kwe-1.0, okubandakanya utshintsho oluninzi lwe-interoperability-breaking olufunekayo ukwenza isebe lokuqala elizinzile eliya kwenza imeko yolwimi. Inguqulo ye-1.0 ithathwa njengento ezinzileyo, yokukhululwa kwenkxaso yexesha elide eya kuqinisekiswa ukugcina ukuhambelana okubuyela emva kwinxalenye ezinzileyo yolwimi. Ngokwahlukileyo, umqokeleli uya kuba nemowudi yovavanyo ekhoyo apho amanqaku amatsha anokophula ukuhambelana ngasemva aya kuphuhliswa.

Phakathi kweenguqu ezicetywayo kwi-Nim 0.20 zezi:

  • "Akunjalo" ngoku isoloko ingumqhubi ongenamsebenzi, okt. amabinzana afana no “bambisa(hayi a)” ngoku akavumelekanga kwaye kuphela “assert not a” evumelekileyo;
  • Ukwenziwa kweetshekhi ezingqongqo zoguqulo lwamanani apheleleyo kunye namanani okwenyani kwinqanaba lokuhlanganisa, okt. ibinzana elithi "const b = uint16(-1)" ngoku liza kubangela impazamo, kuba -1 ayinakuguqulwa ibe kudidi olupheleleyo olungatyikitywanga;
  • Ukungapakishwa kwee-tuples ze-constants kunye ne-loop variables kubonelelwe.
    Umzekelo, ngoku ungasebenzisa izabelo ezinjenge ‘const (d, e) = (7, “eight”)’ kunye “for (x, y) in f”;

  • Kubonelelwe ngokuqaliswa okungagqibekanga kweehashes kunye neetafile. Umzekelo, emva kokuchaza "var s: HashSet[int]" ungenza ngokukhawuleza "s.incl(5)", ekhokelele kwimpazamo ngaphambili;
  • Ukuphuculwa kolwazi lwemposiso kwiingxaki ezinxulumene nomsebenzi "wetyala" kunye noluhlu lwesalathisi ngaphandle kwemida;
  • Ukutshintsha ubude betafile ngexesha lokuphindaphinda akuvumelekanga.

umthombo: opennet.ru

Yongeza izimvo