Inguqulo entsha yolimi lwezinhlelo ze-Nim 0.20

kwenzeka ukukhululwa kolimi lokuhlela uhlelo I-Nim 0.20.0. Ulimi lisebenzisa ukuthayipha okumile futhi lwadalwa kucatshangwa nge-Pascal, C++, Python ne-Lisp. Ikhodi yomthombo we-Nim ihlanganiswa ibe isethulo se-C, C++, noma i-JavaScript. Kamuva, ikhodi ye-C/C++ ewumphumela ihlanganiswa ibe ifayela elisebenzisekayo kusetshenziswa noma iyiphi i-compiler etholakalayo (clang, gcc, icc, Visual C++), ekuvumela ukuthi ufeze ukusebenza eduze no-C, uma ungacabangi izindleko zokusebenza. umqoqi wezibi. Ngokufana ne-Python, i-Nim isebenzisa i-indentation njengama-block delimiters. Amathuluzi e-Metaprogramming namandla okudala izilimi eziqondene nesizinda (ama-DSL) ayasekelwa. Ikhodi yephrojekthi kuhlinzekiwe ngaphansi kwelayisensi ye-MIT.

Ukukhishwa kwe-Nim 0.20 kungabhekwa njengekhandidethi ekukhishweni kokuqala okuzinzile kwe-1.0, okuhlanganisa izinguquko ezimbalwa ezinqamula ukusebenzisana ezidingekayo ukuze kwakhiwe igatsha lokuqala elizinzile elizokwenza isimo solimi. Inguqulo engu-1.0 ibhekwa njengokukhululwa kosekelo oluzinzile, lwesikhathi eside oluzoqinisekiswa ukugcina ukuhambisana okubuyela emuva engxenyeni ezinzile yolimi. Ngokwehlukana, umhlanganisi uzophinda abe nemodi yokuhlola etholakalayo, lapho kuzothuthukiswa izici ezintsha ezingahle zephule ukuhambisana okusemuva.

Phakathi kwezinguquko ezihlongozwayo ku-Nim 0.20 yilezi:

  • "Hhayi" manje useyi-opharetha engajwayelekile, i.e. izinkulumo ezinjengokuthi β€œassert(not a)” manje azivunyelwe futhi kuphela β€œassert not a” okuvunyelwe;
  • Kunikwe amandla ukuhlola okuqinile kokuguqulwa kwezinombolo kanye nezinombolo zangempela esigabeni sokuhlanganiswa, i.e. Inkulumo ethi "const b = uint16(-1)" manje izoholela ephutheni, njengoba -1 ayikwazi ukuguqulwa ibe uhlobo lwenombolo engasayiniwe;
  • Ukuqaqa ama-tuples ama-constants kanye nokuguquguquka kwe-loop kunikezwa.
    Isibonelo, manje ungasebenzisa imisebenzi efana ne-'const (d, e) = (7, "eight")" kanye "no-(x, y) ku-f";

  • Kunikezwe ukuqaliswa okuzenzakalelayo kwama-hashi namathebula. Isibonelo, ngemva kokumemezela okuthi β€œvar s: HashSet[int]” ungakwazi ngokushesha ukwenza okuthi β€œs.incl(5)”, okuholele ephutheni ngaphambilini;
  • Ulwazi lwephutha oluthuthukisiwe lwezinkinga ezihlobene no-opharetha "wecala" kanye nenkomba yamalungu afanayo ngaphandle kwemingcele;
  • Ukushintsha ubude betafula ngesikhathi sokuphindaphinda akuvunyelwe.

Source: opennet.ru

Engeza amazwana