Tso tawm Nim 1.4.0 programming lus

Ib qho tshiab ntawm Nim system programming lus tau raug tso tawm, uas lub Cuaj Hlis no ua kev zoo siab rau nws ib xyoos ib xyoos. thawj ruaj khov version. Cov lus zoo sib xws hauv syntax rau Python, thiab yuav luag zoo li C ++ hauv kev ua haujlwm. Raws li FAQ Cov lus qiv nyiaj ntau los ntawm (raws li kev pab cuam): Modula 3, Delphi, Ada, C ++, Python, Lisp, Oberon.


Ua haujlwm txhua qhov chaw ua tsaug rau lub peev xwm los sau ua ke hauv C / C ++ / Objective-C / JS. Nws txhawb macro, OOP, cov generics, kev zam, kub code swap thiab ntau ntxiv. Daim ntawv tso cai: MIT.

Cov kev hloov tseem ceeb tshaj plaws:

  • Muaj ib qho tshiab ORC cov khib nyiab uas siv cov algorithm los ntawm ARC, tab sis tib lub sij hawm tuav cov ntaub ntawv ncig hauv txoj kev tshwj xeeb. Enabled los ntawm kev xaiv -gc:orc. Hais txog qhov sib txawv ntawm ARC/ORC muaj ib tsab xov xwm zoo.

  • Ib hom rau cov ntsiab lus nruj ua haujlwm tau raug ntxiv, uas ua rau muaj kev kuaj ntxiv rau cov khoom hloov pauv. Qhib los ntawm pragma {.experimental: "strictFuncs".} lossis ntawm --experimental:strictFuncs key.

  • Cov lus tseem ceeb tam sim no tuaj yeem siv los ua tus neeg teb xov tooj.

  • Ntxiv .noalias pragma. Nws maps rau C txwv lo lus tseem ceeb kom ua tau zoo uas lo lus tseem ceeb tuaj yeem muab tau.

  • Cov lus ceeb toom tshwj xeeb tam sim no tuaj yeem hloov mus ua qhov yuam kev ntawm --warningAsError[X]:on|off.

  • Cov lus txib tshiab: nim r main.nim [args...], uas suav nrog thiab khiav main.nim, thiab suav nrog --usenimcache kom cov txiaj ntsig khaws cia hauv $nimcache/main$exeExt, siv tib lub logic li nim c - r kom tshem tawm ntawm kev sib sau ua ke thaum cov peev txheej tsis tau hloov pauv. Piv txwv:

nim r compiler/nim.nim --help # compiled thawj zaug
echo' import os; ncha getCurrentCompilerExe()' | nim r - # this works too
nim r compiler/nim.nim --fullhelp # without recompilation
nim r β€”nimcache:/tmp main # binary rua hauv /tmp/main

  • Ntxiv cov lus qhia tshiab -hint: msgOrigin, uas yuav qhia qhov twg lub compiler tsim cov lus yuam kev / ceeb toom. Qhov no pab thaum nws tsis pom tseeb qhov twg cov lus tuaj.

  • Ntxiv chij -backend:js|c|cpp|objc (los yog -b:js, thiab lwm yam) los hloov lub backend.

  • Ntxiv --usenimcache chij rau tso tawm binaries rau nimcache.

  • Cov yuam sij tshem tawm: --oldNewlines, --laxStrings, --oldast, --oldgensym

  • Nimsuggest utility tam sim no qhia tsis tau tsuas yog cov lus tshaj tawm ua ntej, tab sis kuj yog qhov chaw siv rau kev thov def.

Tsis tas li ntawd, ntau qhov kev hloov pauv tau ntxiv rau cov tsev qiv ntawv tus qauv thiab ntau yam kev kho kab mob.

Tau qhov twg los: linux.org.ru ua