Bag-ong bersyon sa Nim programming language 0.20

nahitabo pagpagawas sa pinulongan sa sistema sa programming Nim 0.20.0. Ang lengguwahe naggamit ug static nga pag-type ug gitukod gamit ang Pascal, C++, Python, ug Lisp sa hunahuna. Ang source code sa Nim gihugpong ngadto sa representasyon sa C, C++, o JavaScript. Pagkahuman, ang resulta nga C / C ++ code giipon sa usa ka executable file gamit ang bisan unsang magamit nga compiler (clang, gcc, icc, Visual C++), nga nagtugot kanimo nga makab-ot ang pasundayag nga hapit sa C, kung dili nimo tagdon ang gasto sa pagpadagan. ang tigkolekta sa basura. Sama sa Python, gigamit ni Nim ang indentation isip block separator. Gisuportahan ang mga himan ug kapabilidad sa metaprogramming alang sa paghimo sa mga pinulongan nga piho sa domain (DSLs). Kodigo sa proyekto gihatag ubos sa lisensya sa MIT.

Ang pagpagawas sa Nim 0.20 makita isip usa ka kandidato sa pagpagawas alang sa unang stable nga 1.0 nga pagpagawas, lakip ang daghang mga pagbag-o sa pagkaangay-paglapas nga gikinahanglan aron maporma ang unang stable nga sanga nga makahimo sa kahimtang sa pinulongan. Ang Bersyon 1.0 giila nga usa ka lig-on, dugay nga pagpagawas sa suporta nga garantisado nga magpadayon sa atrasado nga pagkaangay sa gipalig-on nga bahin sa pinulongan. Sa tagsa-tagsa, ang usa ka eksperimento nga paagi magamit usab sa compiler, diin ang mga bag-ong bahin nga mahimo’g makaguba sa atrasado nga pagpahiangay maugmad.

Sa mga pagbag-o nga gisugyot sa Nim 0.20, mahimo naton i-highlight:

  • Ang "Dili" karon kanunay usa ka unary operator, i.e. ang mga ekspresyon sama sa "pagpahayag (dili a)" dili na karon balido ug ang "pagpahayag dili usa" ang gitugotan;
  • Ang lisud nga mga pagsusi alang sa pag-convert sa mga integer ug tinuod nga mga numero sa oras sa pag-compile gi-enable, i.e. ang ekspresyong "const b = uint16(-1)" karon moresulta sa usa ka sayop, tungod kay -1 dili makabig ngadto sa usa ka unsigned integer type;
  • Ang pag-unpack sa mga tuple alang sa mga constants ug loop variables gihatag.
    Pananglitan, ang mga buluhaton sama sa 'const (d, e) = (7, "walo")' ug "para sa (x, y) sa f" magamit na;

  • Gihatag ang default nga pagsugod sa mga hash ug mga lamesa. Pananglitan, human sa pagdeklarar og "var s: HashSet[int]", mahimo nimo dayon nga i-execute ang "s.incl(5)", nga kaniadto mosangpot sa sayop;
  • Gipauswag ang sulud sa kasayuran sa mga sayup alang sa mga problema nga may kalabotan sa operator nga "kaso" ug indeks sa array nga wala sa mga utlanan;
  • Gidili ang pag-usab sa gitas-on sa lamesa sa panahon sa pag-uli.

Source: opennet.ru

Idugang sa usa ka comment