Mtundu watsopano wa chilankhulo cha pulogalamu ya Nim 0.20

chinachitika kutulutsidwa kwa chilankhulo cha pulogalamu yadongosolo Ndi 0.20.0. Chilankhulochi chimagwiritsa ntchito kulemba mokhazikika ndipo chinapangidwa ndi Pascal, C++, Python ndi Lisp m'maganizo. Khodi ya Nim imapangidwa kukhala C, C++, kapena kuyimira JavaScript. Pambuyo pake, kachidindo ka C / C ++ kamene kamapangidwira kumapangidwa kukhala fayilo yotheka kugwiritsa ntchito compiler iliyonse yomwe ilipo (clang, gcc, icc, Visual C ++), yomwe imakulolani kuti mukwaniritse ntchito pafupi ndi C, ngati simukuganizira mtengo wothamanga. wotolera zinyalala. Mofanana ndi Python, Nim amagwiritsa ntchito indentation ngati block delimiters. Zida zopangira ma metaprogramming ndi kuthekera kopanga zilankhulo zenizeni (DSLs) zimathandizidwa. Project kodi zoperekedwa pansi pa layisensi ya MIT.

Kutulutsidwa kwa Nim 0.20 kumatha kuonedwa kuti ndi woyenera kutulutsa kokhazikika kwa 1.0, kuphatikiza zosintha zingapo zomwe zimafunikira kuti apange nthambi yoyamba yokhazikika yomwe ingapange chilankhulocho. Mtundu wa 1.0 umadziwika kuti ndi wokhazikika, wothandizira wanthawi yayitali womwe udzatsimikizidwe kuti ukhale wogwirizana m'mbuyo mu gawo lokhazikika lachilankhulocho. Payokha, wopangayo adzakhalanso ndi njira yoyesera yomwe imapezeka momwe zinthu zatsopano zomwe zingasokoneze kuyanjana kwambuyo zidzapangidwa.

Zina mwa zosintha zomwe zaperekedwa mu Nim 0.20 ndi:

  • "Ayi" tsopano nthawi zonse ndi wogwiritsa ntchito unary, i.e. mawu ngati β€œassert(osati a)” tsopano saloledwa ndipo β€œassert not a” okha ndi amene amaloledwa;
  • Yathandizira macheke osamalitsa kuti asinthe manambala ndi manambala enieni panthawi yophatikiza, i.e. mawu oti "const b = uint16(-1)" tsopano abweretsa cholakwika, popeza -1 sangasinthidwe kukhala mtundu wonse wosasainidwa;
  • Kutsegula kwa tuples kwa zosinthika ndi zosinthika za loop kumaperekedwa.
    Mwachitsanzo, tsopano mutha kugwiritsa ntchito ntchito monga 'const (d, e) = (7, "eight")" ndi "kwa (x, y) mu f";

  • Anapereka kusakhulupirika chiyambi cha ma hashes ndi matebulo. Mwachitsanzo, mutatha kulengeza "var s: HashSet[int]" mukhoza kuchita nthawi yomweyo "s.incl(5)", zomwe zinapangitsa kuti zikhale zolakwika;
  • Zambiri zolakwika zamavuto okhudzana ndi "case" woyendetsa ndi array index kunja kwa malire;
  • Kusintha kutalika kwa tebulo panthawi yobwereza ndikoletsedwa.

Source: opennet.ru

Kuwonjezera ndemanga