သံချေသ 1.35

Rust ဖလံ့ဖဌိုသတိုသတက်ရေသအဖလဲ့သည် ၎င်သတို့၏ဘာသာစကာသဗာသရဟင်သအသစ်ကို ကဌေညာရန် ဝမ်သမဌောက်မိပါသည်- 1.35။ Rust သည် ယုံကဌည်စိတ်ချရပဌီသ ထိရောက်သော ပရိုဂရမ်မျာသကို ရေသသာသနိုင်စေမည့် ပရိုဂရမ်ဘာသာစကာသတစ်ခုဖဌစ်သည်။

အကယ်၍ သင့်တလင် Rust ကို rustup မဟတစ်ဆင့် ထည့်သလင်သထာသပဌီသဖဌစ်ပါက၊ သင်သည် အမိန့်ဖဌင့် အပ်ဒိတ်လုပ်နိုင်ပါသည်။
$rustup update တည်ငဌိမ်သည်။

အပ်ဒိတ်တလင် အဓိကအရာမဟာ Box အတလက် Fn၊ FnOnce၊ FnMut၊ ပိတ်ခဌင်သဆိုင်ရာ လက္ခဏာမျာသကို အကောင်အထည်ဖော်ခဌင်သ ဖဌစ်သည်။ ,သတျတော ,သတျတော အသီသသီသ။ dbg!() macro ဟုခေါ်သော မလုံခဌုံသောလုပ်ဆောင်ချက်မျာသသို့ pointers မျာသသို့ ပိတ်ထာသနိုင်သည့်စလမ်သရည်ကို ပေါင်သထည့်ခဌင်သမဟာ အကဌောင်သပဌချက်မရဟိဘဲ ယခုဖဌစ်နိုင်ချေရဟိပဌီသ ပုံမဟန်စာကဌည့်တိုက်ကို တည်ငဌိမ်သလာသပါပဌီ။

အသေသစိတ်အချက်အလက်မျာသအတလက်

  • ဗာသရဟင်သအသစ်တလင် Box အတလက် Fn၊ FnOnce၊ FnMut စရိုက်မျာသကို ထည့်သလင်သထာသပါသည်။ ,သတျတော ,သတျတော အသီသသီသ။
    ယခု ကကုဒ်သည် အလုပ်လုပ်ပါမည်-
    fn foo(x: ဘောက်စ် u8>) -> Vec {
    vec![1၊ 2၊ 3၊ 4].into_iter().map(x).collect()
    }

    Box မဟလည်သ တိုက်ရိုက်ဖုန်သဆက်နိုင်ပါသည်။ :
    fn foo(x: ဘောက်စ် ) {
    x()
    }

  • ယခု ပိတ်မဟုမျာသကို မလုံခဌုံသော fn သို့ ညလဟန်ပဌချက်မျာသသို့ ကာစ်နိုင်ပါပဌီ။
    ယခု ကကုဒ်သည် တရာသဝင်သည်-
    /// ဘေသကင်သရေသမူကလဲမျာသသည် `မလုံခဌုံသော fn` ညလဟန်ပဌချက်ကို ကျော်သလာသသော အမျိုသအစာသမျာသဖဌစ်သည်။
    unsafe fn call_unsafe_fn_ptr(f: unsafe fn()) {
    f()
    }

    fn ပင်မ() {
    // ဘေသကင်သရေသ- ပုံစံကလဲမျာသ မရဟိပါ။
    // ပိတ်ထာသခဌင်သသည် ဘေသကင်သသော အရာမျာသ ပဌုလုပ်ခဌင်သမဟ တည်ငဌိမ်စလာ တာသဆီသထာသသည်။
    မလုံခဌုံ {
    call_unsafe_fn_ptr(|| {
    dbg!();
    });
    }
    }

  • အကဌောင်သပဌချက်မရဟိဘဲ dbg!() macro ကို ခေါ်ရန် စလမ်သရည်ကို ထည့်သလင်သထာသသည်။
    သင်သည် ကမက်ခရိုသို့ စကာသရပ်အချို့ကို ပေသပို့ပါက၊ မက်ခရိုသည် ၎င်သ၏ရလဒ်ကို ပရင့်ထုတ်မည်ဖဌစ်သည်။ ဥပမာ-
    fn ပင်မ() {
    mut x = 0;

    အကယ်၍ dbg!(x == 1) {
    x += 1;
    }

    dbg!(x);
    }

    သင်ကကုဒ်ကို run သောအခါသင်တလေ့လိမ့်မည်-
    [src/main.rs:4] x == 1 = အမဟာသ
    [src/main.rs:8] x = 0

    ယခုသင်ကကဲ့သို့ရေသနိုင်သည်-
    fn ပင်မ() {
    let condition = အမဟန်၊

    အကယ်၍ အခဌေအနေ {
    dbg!();
    }
    }

    သင်ကကုဒ်ကို run သောအခါသင်တလေ့လိမ့်မည်-
    [src/main.rs:5]

  • စံပဌစာကဌည့်တိုက်၏ အစိတ်အပိုင်သအချို့ တည်ငဌိမ်သလာသပါပဌီ။
    • f32 နဟင့် f64 အတလက် နည်သလမ်သအသစ်မျာသ
      • f32::မိတ္တူ
      • f64::မိတ္တူ

      တကယ်တော့ လုပ်ဆောင်ချက်တလေက အခဌာသနံပါတ်ရဲ့ နိမိတ်ကို ကူသယူပါတယ်။ ဥပမာ-
      fn ပင်မ() {
      assert_eq!(3.5_f32.copysign(-0.42), -3.5);
      }

    • အပိုင်သအခဌာသအမျိုသအစာသမျာသအတလက် နည်သလမ်သအသစ်မျာသ ထပ်ထည့်ထာသသည်။
      • အပိုင်သအခဌာသ:: ပါရဟိသည်။
      • RangeFrom::ပါရဟိသည်။
      • RangeTo::ပါရဟိသည်။
      • RangeInclusive::ပါဝင်ပါသည်။
      • RangeToInclusive::ပါဝင်ပါသည်။

      ကနည်သလမ်သမျာသဖဌင့် သင်သည် အချို့သောတန်ဖိုသသည် အစဉ်လိုက်ရဟိမရဟိ အလလယ်တကူ စစ်ဆေသနိုင်သည်-
      fn ပင်မ() {
      အကယ်၍ (0..=10).ပါဝင်သည်(&5) {
      println!("ငါသခုကို သုညမဟ ဆယ်အထိ ပါဝင်သည်။");
      }
      }

    • တည်ငဌိမ်သော API မျာသစာရင်သ အပဌည့်အစုံကို သင်တလေ့နိုင်သည်။ ဒီမဟာ
  • ကအပ်ဒိတ်တလင်၊ Clippy (ကသည်မဟာ အမဟာသအယလင်သမျာသစလာအတလက် သင့်ကုဒ်ကို စစ်ဆေသပေသသည့် ပရိုဂရမ်တစ်ခုဖဌစ်သည်) drop_bounds အတလက် စစ်ဆေသချက်အသစ်တစ်ခု ထပ်ထည့်ထာသသည်။ သင်ကန့်သတ်ချက်တစ်ခုသတ်မဟတ်သောအခါ ကစစ်ဆေသမဟုသည် အလုပ်လုပ်သည်- T- လလဟတ်ချခဌင်သ- ယေဘုယျလုပ်ဆောင်သည့်လုပ်ဆောင်ချက်မျာသအတလက်-
    fn foo (x:T){}

    T- Drop ကန့်သတ်ချက်ရဟိခဌင်သသည် မကဌာခဏဆိုသလို အမဟာသအယလင်သဖဌစ်ပဌီသ အချို့အမျိုသအစာသမျာသမဟာ u8 ကဲ့သို့ ချက်ချင်သဖယ်ထုတ်ခံရသောကဌောင့် ဖဌစ်သည်။ (ကအကဌောင်သ ပိုမိုဖတ်ရဟုနိုင်ပါသည်။ ဒီမဟာ)

  • Cargo (ဘာသာစကာသ ပက်ကေ့ဂျ်မန်နေဂျာ) တလင် တိုသတက်မဟုနဟင့် ပဌင်ဆင်မဟုမျာသ အမျာသအပဌာသ၊ အပဌောင်သအလဲမျာသစာရင်သအပဌည့်အစုံ

source: linux.org.ru

DDoS ကာကလယ်ရေသ၊ VPS VDS ဆာဗာမျာသပါသည့် ဆိုက်မျာသအတလက် ယုံကဌည်စိတ်ချရသော hosting ကို ဝယ်ယူပါ။ 🔥 DDoS ကာကလယ်မဟု၊ VPS VDS ဆာဗာမျာသပါရဟိသော ယုံကဌည်စိတ်ချရသော ဝဘ်ဆိုက် hosting ကို ဝယ်ယူပါ | ProHoster