پروگرامنگ ٻولي جو رليز V 0.4.3

40 ڏينهن جي ترقيءَ کان پوءِ، مستحڪم طور تي ٽائپ ڪيل پروگرامنگ ٻولي V (vlang) جو نئون نسخو شايع ڪيو ويو آهي. V ٺاهڻ جا بنيادي مقصد سکيا ۽ استعمال ۾ آساني، اعليٰ پڙهڻ جي صلاحيت، تيز تاليف، سيڪيورٽي وڌائڻ، موثر ترقي، ڪراس پليٽ فارم جو استعمال، سي ٻوليءَ سان بهتر انٽرآپريبلٽي، بهتر غلطي سنڀالڻ، جديد صلاحيتون، ۽ وڌيڪ برقرار رکڻ وارا پروگرام هئا. گڏ ڪرڻ وارو ڪوڊ، لائبريريون ۽ لاڳاپيل اوزار MIT لائسنس تحت کليل آهن.

نئين نسخي ۾:

  • ٻولي جي واڌاري:
    • نئون ماڊل “encoding.xml parser سان، تصديق، يونٽ ٽيسٽ.
    • couroutines لاء بهتر حمايت (IO، نيٽ ورڪ).
    • vweb ايپليڪيشنن ۾ ميموري مختص ڪرڻ واري عمل کي 80٪ گھٽايو.
    • "C.V_CURRENT_COMMIT_HASH" کي تبديل ڪرڻ لاءِ "@VCURRENTHASH" جو نفاذ.
    • نئين قسم جي int جي واڌاري شروع ڪئي وئي آهي، i64 قسم سان لاڳاپيل (اڳ ۾، int قسم جي سڃاڻپ i32 قسم سان ڪئي وئي هئي).
    • نئين int قسم ۽ اصلاحي ڪوڊ نسل لاءِ مقرر ٿيل قسم جي چڪاس جا ضابطا.
  • API تبديليون جيڪي مطابقت کي ٽوڙيو:
    • "Request.cookies" ڊڪشنري ختم ڪئي وئي آهي. "Request.cookie()" ۽ "Request.add_cookie()" طرفان تبديل ٿيل.
    • سي قسمن لاءِ سخت ضابطا، جن کي ھاڻي ھاڻي قرار ڏنو وڃي.
  • قسم چيڪنگ سسٽم تبديليون:
    • اختيار/نتيجن جي تقسيم بابت خبرداري کي غلطي جي درجي ۾ منتقل ڪيو ويو آهي.
    • آٽو فري موڊ ۾ اختياري دليل سان "fn" ڪالنگ کي درست ڪريو.
    • نالو ڏيڻ جي چڪاس واپس آئي آهي: پاسڪل ڪيس عرف لاءِ.
    • C.xx = C.yy عرف.
    • انٽيجر جي قسمن جي ڪاسٽ ڪرڻ جي اجازت ڏيو جيئن رياضي بلاڪ ۾ رينج.
    • بائيٽ قسم جي فرسودگي بابت خبردار (u8 قسم جي حق ۾) جڏهن استعمال ڪيو ويو fn پيٽرولر طور.
    • عام صفن لاءِ ضميمه جو طريقو درست ڪريو.
    • ٻئي ماڊل جي پرائيويٽ انٽرفيس کي لاڳو ڪرڻ ۾ غلطي جي چڪاس.
    • ناڪاري ڪيپ ۽ لين جي قيمتن لاءِ مقرر ٿيل چيڪنگ جڏهن هڪ صف کي شروع ڪندي.
    • نقل ٿيل var ۽ param module نالن جي باري ۾ خبرداري کي غلطي ۾ تبديل ڪرڻ.
    • مڪمل شيئر ٿيل متغير کي ٻيهر ڏيڻ جي اجازت ڏيو (جڏهن ته ميوٽڪس جي پوئين حالت کي برقرار رکڻ).
  • تجزيه بهتري:
    • گمنام ڪمن لاءِ جامد طريقو مقرر ڪيو ويو.
    • ast: مقرر ٿيل فارميٽنگ struct اعلان جي nested جوڙجڪ سان.
    • شامل ڪيو ويو set_all + clear_all طريقا "[flag]" bitfields ۾.
    • غير استعمال ٿيل درآمدن جي باري ۾ خبردار ڪريو، جيتوڻيڪ اهي "import math { sin, cos }" سان اعلان ڪيا ويا آهن.
  • مرتب ڪندڙ تبديليون:
    • checker, builder, pref: "-dump-defines" جھنڊو کي سپورٽ ڪريو ھڪڙي پروگرام لاءِ موجود سڀني صارفن ۽ سسٽم جي وصفن کي ڏسڻ لاءِ.
    • نقشا: شامل ڪيا ويا maps.merge() ۽ maps.merge_in_place() افعال.
  • معياري لائبريري:
    • بلٽ ان: شامل ڪيو ويو "غير محفوظ { a.reset() }" طريقو جلدي سيٽ ۾ سڀني بائيٽ کي 0 تي ترتيب ڏيڻ لاء.
    • math.fractions: آپريٽر اوورلوڊنگ استعمال ڪريو ۽ پراڻن ڪمن کي ڇڏي ڏيو.
    • gg: ميڪوس ۽ لينڪس تي draw_rounded_rect_empty ھيٺئين سرحد جي ترتيب کي درست ڪريو.
    • crypto.bcrypt: bcrypt ۾ درست ٿيل بگ.
    • sokol: تازو ورزن ڏانهن اپڊيٽ ڪيو ويو
    • بلٽ ان: مقرر ڪيل سائيز (C.BOOL) (ونڊوز مخصوص).
    • math.big: ناڪاري انگن سان غلط ڊويزن کي درست ڪريو.
    • os: ڪجھ سسٽم سگنلن کي نظرانداز ڪرڻ لاءِ آسان رستو شامل ڪيو ويو.
    • os: ونڊوز ۾ os.ls (فولڊر) کي درست ڪريو جڏهن محفوظ ڊاريڪٽري کي کوليو نه ٿو وڃي.
    • crypto.sha/md5/: sha1/256/512 لاءِ .sum() کي ڪيترائي ڀيرا ڪال ڪرڻ وقت ساڳيا هيش ويلز جو مقرر ڪيل حساب.
    • os: لاڳو ڪيو ويو os.fd_is_pending/1، os.Process.pipe_read/1، os.Process.is_pending/1.
    • json2: شامل ڪيل سپورٽ nested جوڙجڪ لاء.
  • ويب
    • vweb: جامد .md فائلن لاءِ mime قسم شامل ڪيا ويا.
    • net.conv: rfc-64 (QUIC لاءِ) ۾ بيان ڪيل غير دستخط ٿيل انٽيجرز جي متغير انڪوڊنگ لاءِ شامل ڪيل افعال varinttou64 ۽ u9000tovarint.
    • net.http: http.Server{} ۾ on_running، on_stopped، on_closed ڪال بڪ افعال جي وضاحت ڪرڻ لاءِ سپورٽ، گڏوگڏ show_startup_message: false.
    • net.http: HTTP پراڪسي پاسٿرو سپورٽسرور http.fetch ۾.
    • net.http: ساکٽ جي ناگزير غلطين لاءِ http.fetch() ۾ ٻيهر ڪوشش جو طريقو شامل ڪريو.
    • wasm: لاڳو ٿيل ان لائن اسيمبلي.
    • net.http: max_redirects قدر وڌائي 16 تائين.
    • picoev: فائل وضاحت ڪندڙن سان سڌو ڪم لاء خام موڊ تي عمل درآمد.
    • net.http: يونڪس جهڙو سسٽم لاءِ ساڪس5 ۽ http(s) پراڪسز لاءِ شامل ڪيل سپورٽ.
  • ORM:
    • orm: null ويلز ۽ اختياري شعبن جو شامل ڪيل سنڀال.
    • orm: is_null/is_not_null آپريشنز غير منظم ڪيا ويا آھن.
  • ڊيٽابيس ڊرائيور:
    • pg: سي ڪالز کي .cv فائلن ۾ منتقل ڪيو ويو آهي.
  • اصلي پس منظر:
    • ڏيهي: سپورٽ -no-builtin پرچم (پيدا ڪريو <1KB لينڪس ايگزيڪيوٽوبل "v -no-builtin -b اصلي مثالن/hello_world.v" سان).
    • اصلي: int جي بدران i32 استعمال ڪريو.
  • سي پس منظر:
    • ast، native، cgen: شامل ڪيل سپورٽ لاءِ "$ if native {}".
  • vfmt:
    • ھاڻي ھٽائي ٿو اضافي لائن برڪ ڪال_expr کان پوءِ ۽ ساخت جي دليلن کان اڳ.
    • Uft8 اکرن سان ڪنجيون استعمال ڪرڻ وقت مقرر قدر جي ترتيب.
    • Const بلاڪ ۾ ٽيرنري اظهار جي ترتيب.
  • اوزار:
    • رن ٽائم تي @FILE ۽ @LINE کي گڏ ڪرڻ کان سواءِ ڊيبگنگ کي آسان بڻائڻ لاءِ @LOCATION سپورٽ شامل ڪئي وئي.
    • بينچ مارڪ: شامل ڪيا نوان طريقا b.record_measure/1 ۽ b.all_recorded_measures/0.
    • ci: github workflow c2v اپڊيٽ ڪيو ويو.
    • strings: شامل ڪيو ويو Bulder.write_decimal/1 طريقو (ڏسيل نمبر لکڻ لاءِ، بغير اضافي مختص ڪرڻ جي).
    • وي پي ايم (ونڊوز) استعمال ڪندي موجوده ماڊل جي تنصيب کي مقرر ڪيو ويو آهي.
    • tools.vpm: ".git" ۾ ختم ٿيندڙ ايڊريس سان بهتر ڪم.
    • شامل ڪيل ضرورت v.mod فائل لاءِ ماڊلز کي انسٽال ڪرڻ لاءِ ٻاهرين لنڪ ذريعي vpm استعمال ڪندي.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو