Rust 1.43 د پروګرام کولو ژبې خپرول

خپور شوی د سیسټم پروګرام کولو ژبه خپرول زنګ 1.43د موزیلا پروژې لخوا تاسیس شوی. ژبه د حافظې خوندیتوب باندې تمرکز کوي، د اتوماتیک حافظې مدیریت چمتو کوي، او د کثافاتو راټولونکي کارولو پرته د لوړې دندې موازي کولو لپاره وسایل چمتو کوي. د چلولو وخت.

د زنګ اتوماتیک حافظه مدیریت پراختیا کونکی د پوینټر له مینځه وړلو څخه خلاصوي او د ټیټې کچې حافظې لاسوهنې څخه رامینځته شوي ستونزو څخه ساتي ، لکه د وړیا حافظې لاسرسي ، د نول پوینټر ډیریفرنسونه ، بفر اوورونونه او داسې نور. د بسته بندۍ مدیر د کتابتونونو توزیع کولو لپاره رامینځته کیږي ، د غونډې ډاډ ترلاسه کوي او د پروژې لخوا انحصار اداره کوي. کارګو، تاسو ته اجازه درکوي په یو کلیک کې د برنامې لپاره اړین کتابتونونه ترلاسه کړئ. یو ذخیره د کتابتونونو کوربه کولو لپاره ملاتړ کیږي crates.io.

اصلي نوښتونه:

  • میکرو د عناصرو ټوټو کارولو وړتیا چمتو کوي ترڅو دوی د ځانګړتیاو (خصوصیت) ، پلي کولو (impl) یا بهرني بلاکونو لپاره کوډ ته واړوي. د مثال په ډول:

    macro_rules! mac_trait {
    ($i:item) => {
    صفت T { $i }
    }
    }
    mac_trait! {
    fn foo() {}
    }

    نسل ته لار پیدا کوي:

    ځانګړتیا T {
    fn foo() {}
    }

  • د لومړنیو، حوالو او بائنری عملیاتو ښه شوی ډول کشف.
    د مثال په توګه، لاندې کوډ، چې پخوا د تېروتنې لامل شوی، اوس به د دې وړتیا ولري چې تالیف کړي (Rust اوس په سمه توګه ټاکي چې 0.0 او &0.0 باید د f32 ډول وي):

    اجازه راکړئ n: f32 = 0.0 + &0.0;

  • په کارګو کې د نوي چاپیریال متغیر CARGO_BIN_EXE_{name} اضافه شوی، کوم چې د ادغام ازموینې رامینځته کولو په وخت کې ټاکل کیږي او تاسو ته اجازه درکوي د اجرا وړ فایل ته بشپړ لاره وټاکئ چې د کڅوړې په "[[bin]]" برخه کې تعریف شوي.
  • که بیاناتو ته اجازه ورکړل شي چې ځانګړتیاوې وکاروي لکه "#[cfg()]".
  • کتابتون د دې وړتیا برابروي چې د انډول واردولو پرته په مستقیم ډول د بشپړ او جزوي ډولونو لپاره د اړونده ثابتو کارولو وړتیا ولري. د مثال په توګه، تاسو کولی شئ سمدلاسه u32::MAX یا f32::NAN ولیکئ پرته لدې چې لومړی "استعمال std::u32" او "استعمال std::f32" مشخص کړئ.
  • نوی ماډل اضافه شوی ابتدايي، کوم چې د زنګ لومړني ډولونه بیا صادروي ​​، د مثال په توګه کله چې تاسو اړتیا لرئ میکرو ولیکئ او ډاډ ترلاسه کړئ چې ډولونه پټ ندي.
  • د APIs نوې برخه باثباته کټګورۍ ته لیږدول شوې، په شمول ثبات

    یوځل چې:: بشپړ شوی،
    f32::LOG10_2,
    f32::LOG2_10,
    f64::LOG10_2,
    f64::LOG2_10 او
    iter::on_with.

سرچینه: opennet.ru

Add a comment