Ẹya tuntun ti ede siseto Nim 0.20

waye itusilẹ ede siseto eto Nim 0.20.0. Ede naa nlo titẹ aimi ati pe a ṣẹda pẹlu Pascal, C++, Python ati Lisp ni lokan. Koodu orisun Nim ti wa ni akojọpọ sinu C, C++, tabi aṣoju JavaScript. Lẹhinna, koodu C / C ++ ti o yọrisi ti wa ni akopọ sinu faili ti o ṣiṣẹ ni lilo eyikeyi akojọpọ ti o wa (clang, gcc, icc, Visual C ++), eyiti o fun ọ laaye lati ṣaṣeyọri iṣẹ ṣiṣe ti o sunmọ C, ti o ko ba ṣe akiyesi awọn idiyele ti ṣiṣiṣẹ. oludoti. Iru si Python, Nim nlo indentation bi idinamọ. Awọn irinṣẹ siseto ati awọn agbara fun ṣiṣẹda awọn ede kan pato-ašẹ (DSLs) ni atilẹyin. koodu ise agbese pese labẹ iwe-aṣẹ MIT.

Itusilẹ Nim 0.20 le jẹ oludije fun itusilẹ iduroṣinṣin akọkọ 1.0, ti o ṣafikun ọpọlọpọ awọn iyipada interoperability-fifọ ti o nilo lati ṣe agbekalẹ ẹka iduroṣinṣin akọkọ ti yoo ṣe ipo ede naa. Ẹya 1.0 jẹ itusilẹ bi iduro, itusilẹ atilẹyin igba pipẹ ti yoo jẹ iṣeduro lati ṣetọju ibaramu sẹhin ni apakan imuduro ti ede naa. Lọtọ, olupilẹṣẹ naa yoo tun ni ipo idanwo ti o wa ninu eyiti awọn ẹya tuntun ti o le fọ ibamu sẹhin yoo ni idagbasoke.

Lara awọn iyipada ti a dabaa ni Nim 0.20 ni:

  • "Ko" ni bayi nigbagbogbo oniṣẹ ẹrọ alaiṣe, i.e. Awọn ọrọ bii “isọ (kii ṣe a)” ko gba laaye bayi ati pe “sọ kii ṣe kan” nikan ni a gba laaye;
  • Ṣiṣe awọn sọwedowo ti o muna fun iyipada odidi ati awọn nọmba gidi ni ipele akopo, i.e. ikosile "const b = uint16 (-1)" yoo ja si bayi ni aṣiṣe, niwon -1 ko le ṣe iyipada si iru odidi ti ko wole;
  • Ṣiṣii awọn tuples fun awọn oniyipada ati awọn oniyipada lupu ti pese.
    Fun apẹẹrẹ, ni bayi o le lo awọn iṣẹ iyansilẹ bii ‘const (d, e) = (7, “mẹjọ”)’ ati “fun (x, y) ni f”;

  • Ti pese ipilẹṣẹ aiyipada ti hashes ati awọn tabili. Fun apẹẹrẹ, lẹhin sisọ “var s: HashSet[int]” o le ṣe lẹsẹkẹsẹ “s.incl (5)”, eyiti o yori si aṣiṣe tẹlẹ;
  • Alaye aṣiṣe ti ilọsiwaju fun awọn iṣoro ti o ni ibatan si oniṣẹ “irú” ati atọka atokọ jade ti awọn aala;
  • Yiyipada awọn ipari tabili nigba aṣetunṣe ti ni idinamọ.

orisun: opennet.ru

Fi ọrọìwòye kun