Emva kweentsuku ezingama-40 zophuhliso, inguqulelo entsha yolwimi lwenkqubo oluchwetheziweyo lwe-V (vlang) luye lwapapashwa. Iinjongo eziphambili ekudaleni i-V kulula ukufunda kunye nokusetyenziswa, ukufundwa okuphezulu, ukuhlanganiswa ngokukhawuleza, ukhuseleko oluphuculweyo, uphuhliso olusebenzayo, ukusetyenziswa kwe-cross-platform, ukusebenzisana okuphuculweyo kunye nolwimi lwe-C, ukuphatha iimpazamo ezingcono, amandla anamhlanje, kunye neenkqubo ezigcinayo. Ikhowudi yomqokeleli, amathala eencwadi kunye nezixhobo ezinxulumene nazo zivuliwe phantsi kwelayisenisi ye-MIT.
Kwinguqulelo entsha:
- Uphuculo lolwimi:
- Imodyuli entsha "encoding.xml nge-parser, ukuqinisekiswa, uvavanyo lweyunithi.
- Inkxaso ephuculweyo ye-couroutines (IO, inethiwekhi).
- Nciphisa imisebenzi yolwabiwo lwememori kwizicelo zevweb ngama-80%.
- Ukusetyenziswa kwe-"@VCURRENTHASH" endaweni ka-"C.V_CURRENT_COMMIT_HASH".
- Ukunyuswa kohlobo olutsha lwe-int luqalile, oluhambelana nohlobo lwe-i64 (ngaphambili, uhlobo lwe-int lwachongwa ngohlobo lwe-i32).
- Imithetho yokukhangela esisigxina yohlobo olutsha lwe-int kunye nokuveliswa kwekhowudi ephuculweyo.
- Utshintsho lwe-API oluqhawula ukuhambelana:
- Isichazi-magama esithi "Request.cookies" sirhoxisiwe. Kutshintshwe igama elithi "Request.cookie()" kunye ne"Request.add_cookie()".
- Imithetho engqongqo kwiindidi ze-C, ekufuneka isoloko ibhengezwa ngoku.
- Uhlobo lokujonga utshintsho lwenkqubo:
- Isilumkiso malunga nokhetho/ulwahlulo lwesiphumo sisiwe kudidi lwempazamo.
- Lungisa ukufowuna "fn" ngengxabano ekhethiweyo kwimo ezenzekelayo.
- Itshekhi yamagama ibuyile: i-pascal case yeziteketiso.
- C.xx = C.yy iziteketiso.
- Vumela ukuphoswa kweentlobo ezipheleleyo njengoluhlu lweebhloko zezibalo.
- Isilumkiso malunga nokuthotywa kohlobo lwe-byte (ukhetha uhlobo lwe-u8) xa lusetyenziswa njenge parameter ye-fn.
- Lungisa indlela ye-append yeendlela eziqhelekileyo.
- Ukukhangela imposiso ekuphunyezweni kojongano lwabucala lwenye imodyuli.
- Ujongo oluzinzileyo lwe-cap engalunganga kunye namaxabiso e-len xa kuqalwa uluhlu.
- Ukuguqula isilumkiso malunga nokuphindaphinda amagama emodyuli yeparam kwimpazamo.
- Vumela ukunikezelwa kwakhona kwenguqu ekwabelwana ngayo yonke (ngelixa ugcina imo yangaphambili ye-mutex).
- Uphuculo lwabahlaziyi:
- Ukwabela indlela engatshintshiyo kwimisebenzi engaziwa.
- Ast: Ukufomatha okuzinzileyo kwesibhengezo sesakhiwo esinesakhiwo esinendlwane.
- Kongezwe i-set_all + clear_all iindlela kwi-"[flag]" bitfields.
- Lumkisa malunga nezinto ezithunyelwa ngaphandle ezingasetyenziswanga, nokuba zibhengezwe nge "import math { sin, cos }".
- Utshintsho lwabaqokeleli:
- umkhangeli, umakhi, pref: xhasa "-dump-defines" iflegi ukujonga zonke iinkcazo ezikhoyo zomsebenzisi kunye nenkqubo yenkqubo enikiweyo.
- iimephu: zongezwa iimephu.merge() kunye neemephu.merge_in_place() imisebenzi.
- Ithala leencwadi eliMgangatho:
- buildin: yongezwe "engakhuselekanga {a.reset()}" indlela yokuseta ngokukhawuleza zonke iibytes kuluhlu ukuya ku-0.
- Izibalo: Sebenzisa ukulayisha ngaphezulu komsebenzisi kwaye ulahle imisebenzi emidala.
- gg: Lungisa i-draw_rounded_rect_engenanto yolungelelwaniso lomda ongezantsi kwi-macos kunye ne-linux.
- crypto.bcrypt: fixed bug in bcrypt.
- sokol: ihlaziywe kuguqulelo lwamva nje
- buildin: ubungakanani obusisigxina (C.BOOL) (iifestile ezithile).
- math.big: Lungisa ulwahlulo olungachanekanga ngamanani athabathayo.
- os: Yongezwe indlela efanelekileyo yokungahoyi ezinye iimpawu zesixokelelwano.
- os: lungisa os.ls(ifolda) kwiifestile xa uvimba weefayili okhuselweyo ungenakuvulwa.
- crypto.sha/md5/: Ubalo oluzinzileyo lwamaxabiso e-hashi efanayo xa ufowuna .sum() amaxesha amaninzi ku-sha1/256/512.
- os: iphunyezwe os.fd_is_pending/1, os.Process.pipe_read/1, os.Process.is_pending/1.
- json2: inkxaso eyongezelelweyo yezakhiwo ezibekwe kwindlwane.
- web
- i-vweb: iindidi ze-mime ezongeziweyo kwiifayile ezimileyo ze-.md.
- net.conv: Imisebenzi eyongeziweyo i-varinttou64 kunye ne-u64tovarint yoguqulelo lwekhowudi yeenombolo ezingasayinwanga ezichazwe kwi-rfc-9000 (ye-QUIC).
- net.http: inkxaso ecacisa i-on_running, on_stopped, on_closed callback imisebenzi kwi-http.Server{}, kunye ne-show_startup_message: bubuxoki.
- net.http: Inkxaso yokudlula kweproksi ye-HTTPumncedisi kwi http.fetch.
- net.http: Yongeza indlela yokuphinda uzame ku-http.fetch() kwiimpazamo ezingenakuthintelwa kwisokhethi.
- wasm: iphunyezwe indibano engaphakathi.
- net.http: max_redirects ixabiso lonyuke ukuya kwi-16.
- picoev: ukuphunyezwa kwemodi ekrwada yomsebenzi othe ngqo kunye neenkcazo zefayile.
- net.http: inkxaso eyongeziweyo yeekawusi5 kunye ne-http(s) yeeproksi zeesistim ezifana ne-unix.
- I-ORM:
- orm: Ukuphathwa okongeziweyo kwamaxabiso angenanto kunye nemimandla ekhethiweyo.
- orm: I-is_null/is_not_null imisebenzi yenziwa ngokungafaniyo.
- Abaqhubi beDatabase:
- pg: Iifowuni ze-C ziye zasiwa kwiifayile ze-cv.
- Umva wemveli:
- i-native: inkxaso yeflegi ye--no-builtin (evelisa ii-executables < 1 KB) Linux usebenzisa i-"v -no-builtin -b native examples/hello_world.v").
- native: sebenzisa i32 endaweni ye int.
- C-backend:
- ast, native, cgen: inkxaso eyongeziweyo ye "$ukuba yemveli {}".
- vfmt:
- Ngoku isusa ikhefu elongezelelweyo emva kwe-call_expr naphambi kweengxoxo zesakhiwo.
- Ulungelelwaniso lwexabiso oluzinzileyo xa usebenzisa izitshixo ezinoonobumba be-uft8.
- Ulungelelwaniso lweentetho ze-ternary kwiibhloko ze-const.
- Isixhobo:
- Yongezwe @LOCATION inkxaso ukwenza ulungiso lube lula ngaphandle kokudibanisa @FILE kunye @LINE ngexesha lokusebenza.
- umlinganiselo: ukongeza iindlela ezintsha b.record_measure/1 kunye b.all_recorded_measures/0.
- ci: github workflow c2v ihlaziywe.
- imitya: yongeziwe Bulder.write_decimal/1 indlela (yokubhala inani lokugqibela, ngaphandle kolwabiwo olongezelelweyo).
- Ufakelo lwemodyuli esele lukhona usebenzisa i-vpm (iifestile) zilungisiwe.
- izixhobo.vpm: umsebenzi ophuculweyo kunye needilesi eziphela ngo ".git".
- Imfuno eyongeziweyo yefayile ye-v.mod yokufaka iimodyuli ngokusebenzisa izixhumanisi zangaphandle usebenzisa i-vpm.
umthombo: opennet.ru
