Nim programming mutauro kuburitswa 1.4.0

Imwe vhezheni itsva yeNim system programming mutauro yakaburitswa, iyo Nyamavhuvhu ino inoratidza gore kubva pakuburitswa kwayo. yekutanga yakagadzikana shanduro. Iyo syntax yakafanana nePython, uye kuita kwakafanana neC ++. Maererano ne FAQ mutauro unokwereta zvakanyanya kubva (mukurongeka kwehuremu hwemupiro): Modula 3, Delphi, Ada, C ++, Python, Lisp, Oberon.


Inoshanda kwese kwese nekuda kwekugona kuunganidza kuC/C++/Objective-C/JS. Inotsigira macros, OOP, generics, kunze, hot code kutsiva nezvimwe zvakawanda. Rezinesi - MIT.

Izvo zvakanyanya kuchinja:

  • Kune itsva ORC inonhonga marara inoshandisa iyo ARC algorithm asi inobata mareferensi edenderedzwa nenzira yakakosha. Inogoneswa ne --gc:orc sarudzo. Nezve ARC/ORC Kusiyana pane chinyorwa chikuru.

  • Nzira yetsanangudzo yekushanda yakasimba yakawedzerwa, iyo inosanganisira cheki chekuwedzera chekuchinja kwechinhu. Yakaitwa kuburikidza ne {.experimental: "strictFuncs".} pragma kana kuburikidza ne --experimental:strictFuncs switch.

  • Iro kubva kukiyi izwi rinogona kushandiswa semushandisi.

  • Added .noalias pragma. Iyo mepu kune iyo C inorambidza kiyi kiyi kuti iwedzere mashandiro ayo izwi rakakosha rinogona kupa.

  • Yambiro chaiyo ikozvino inogona kushandurwa kuita zvikanganiso kuburikidza --warningAsError[X]:on|off.

  • Murairo mutsva: nim r main.nim [args...], iyo inounganidza uye inoshandisa main.nim, uye inosanganisira --usenimcache kuitira kuti mhedzisiro ichengetwe mu $nimcache/main$exeExt, uchishandisa pfungwa dzakafanana nedze nim c - r kubvisa kubva pakudzokorora, kana iyo kodhi kodhi isati yachinja. Muenzaniso:

nim r compiler/nim.nim --help # yakagadzirwa kekutanga
echo 'import os; echo getCurrentCompilerExe()' | nim r - # izvi zvinoshandawo
nim r compiler/nim.nim --fullhelp # pasina kudzoreredza
nim r --nimcache:/tmp chikuru # binary yakachengetwa ku /tmp/main

  • Yakawedzera imwe hint --hint:msgOrigin iyo icharatidza pakagadzirwa nemhosho/yambiro. Izvi zvinobatsira kana zvisiri pachena kuti meseji yabva kupi.

  • Yakawedzerwa --backend:js|c|cpp|objc (kana -b:js, zvichingodaro) mureza kuti uchinje kuseri.

  • Yakawedzerwa --usenimcache mureza kuburitsa mabhinari kune nimcache.

  • Makiyi akabviswa: --oldNewlines, --laxStrings, --oldast, --oldgensym

  • Iyo nimsuggest utility ikozvino inoratidza kwete chete chiziviso chemberi, asiwo nzvimbo yekushandiswa kana yakumbirwa def.

Pamusoro pezvo, shanduko zhinji dzakawedzerwa kune yakajairwa raibhurari uye akawanda bug kugadzirisa.

Source: linux.org.ru