Ukukhutshwa kolwimi lwenkqubo V 0.4.3

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

Thenga ukusingathwa okuthembekileyo kwiindawo ezinokhuseleko lweDDoS, iiseva zeVPS VDS 🔥 Thenga ukusingathwa kwewebhusayithi okuthembekileyo ngokhuseleko lwe-DDoS, iiseva zeVPS VDS | ProHoster