Tshiab version ntawm Nim 0.20 programming lus

coj qhov chaw system programming lus tso tawm Nim 0.20.0. Cov lus siv kev ntaus ntawv zoo li qub thiab tau tsim nrog Pascal, C ++, Python thiab Lisp hauv siab. Nim qhov chaws tau muab tso ua ke rau hauv C, C ++, lossis JavaScript sawv cev. Tom qab ntawd, cov txiaj ntsig C / C ++ code tau muab tso ua ke rau hauv cov ntaub ntawv ua tiav siv txhua qhov muaj compiler (clang, gcc, icc, Visual C ++), uas tso cai rau koj ua tiav kev ua haujlwm ze rau C, yog tias koj tsis suav nrog cov nqi khiav. tus neeg khaws khib nyiab. Zoo ib yam li Python, Nim siv indentation li block delimiters. Metaprogramming cov cuab yeej thiab muaj peev xwm tsim cov hom lus tshwj xeeb (DSLs) tau txais kev txhawb nqa. Qhov project code nkag rau hauv nyob rau hauv MIT daim ntawv tso cai.

Nim 0.20 tso tawm tuaj yeem suav tias yog tus neeg sib tw rau thawj qhov ruaj khov 1.0 tso tawm, suav nrog ntau qhov kev hloov pauv hloov pauv uas xav tau los tsim thawj ceg ruaj khov uas yuav ua rau lub xeev ntawm cov lus. Version 1.0 yog touted raws li qhov ruaj khov, kev txhawb nqa mus sij hawm ntev tso tawm uas yuav tau lees paub los tswj kev rov qab sib raug zoo hauv cov lus ruaj khov. Cais, lub compiler tseem yuav muaj kev sim hom muaj, nyob rau hauv uas cov yam ntxwv tshiab yuav raug tsim tawm uas yuav ua txhaum rov qab sib raug zoo.

Ntawm cov kev hloov pauv hauv Nim 0.20 yog:

  • "Tsis yog" tam sim no ib txwm yog tus neeg teb xov tooj unary, i.e. Cov kab lus zoo li "paub (tsis yog)" tam sim no tsis tso cai thiab tsuas yog " lees paub tsis yog" raug tso cai;
  • Enabled nruj checks for conversion of integers and real numbers at the compilation stage, i.e. qhov kev qhia "const b = uint16(-1)" tam sim no yuav ua rau muaj kev ua yuam kev, txij li -1 tsis tuaj yeem hloov mus rau hom integer tsis tau kos npe;
  • Unpacking ntawm tuples rau qhov tsis tu ncua thiab voj variables yog muab.
    Piv txwv li, tam sim no koj tuaj yeem siv cov haujlwm xws li 'const (d, e) = (7, "yim")" thiab "rau (x, y) hauv f";

  • Muab qhov pib pib ntawm hashes thiab rooj. Piv txwv li, tom qab tshaj tawm "var s: HashSet[int]" koj tuaj yeem ua "s.incl(5)" tam sim ntawd, uas yav dhau los ua rau muaj qhov yuam kev;
  • Txhim kho cov ntaub ntawv yuam kev rau cov teeb meem ntsig txog "cov ntaub ntawv" tus neeg teb xov tooj thiab cov array Performance index tawm ntawm cov ciam teb;
  • Hloov lub rooj ntev thaum iteration yog txwv.

Tau qhov twg los: opennet.ru

Ntxiv ib saib