የዝገት ልማት ቡድን አዲሱን የቋንቋቸውን ስሪት በማወጅ ደስ ብሎታል፡ 1.35. Rust አስተማማኝ እና ቀልጣፋ ፕሮግራሞችን እንድትጽፍ የሚያስችል የፕሮግራም አወጣጥ ቋንቋ ነው።
ቀደም ሲል Rust በ rustup በኩል የተጫነ ከሆነ በትእዛዙ ማዘመን ይችላሉ-
$ rustup ዝማኔ የተረጋጋ
በዝማኔው ውስጥ ያለው ዋናው ነገር የመዝጊያ ባህሪያት Fn, FnOnce, FnMut, ለቦክስ መተግበር ነው. , ሣጥን , ሣጥን , በቅደም ተከተል. ዘጋዎችን ወደ ጠቋሚዎች ወደ ደህንነታቸው ያልተጠበቁ ተግባራት የመጣል ችሎታን በመጨመር dbg!() ማክሮን መጥራት አሁን ያለ ክርክር ይቻላል እና መደበኛው ቤተ-መጽሐፍት ተረጋግቷል።
ለዝርዝሩ፡-
- በአዲሱ ስሪት የFn፣ FnOnce፣ FnMut ባህሪያት ለቦክስ አተገባበርን አክለናል። , ሣጥን , ሣጥን , በቅደም ተከተል.
አሁን ይህ ኮድ ይሰራል፡-
fn foo (x: Box u8>) -> ቬክ {
vec![1, 2, 3, 4] .ወደ_ኢተር () ካርታ (x) ሰብስብ ()
}እንዲሁም መዝጊያን በቀጥታ ከቦክስ መደወል ይችላሉ። :
fn foo (x: Box ) {
x()
} - መዘጋት አሁን ወደ ጠቋሚዎች ደህንነቱ ያልተጠበቀ fn ሊጣል ይችላል።
አሁን ይህ ኮድ የሚሰራ ነው፡-
/// የደህንነት መለዋወጫዎቹ የተላለፉት 'ደህንነቱ ያልተጠበቀ fn' ጠቋሚ ናቸው።
ደህንነቱ ያልተጠበቀ fn call_unsafe_fn_ptr(f: ያልተጠበቀ fn()) {
ረ()
}fn ዋና() {
// ደህንነት: ምንም ተለዋዋጭ ነገሮች የሉም.
// መዝጊያው ደህንነቱ ያልተጠበቁ ነገሮችን ከማድረግ በስታቲስቲክስ ተከልክሏል።
ደህንነቱ ያልተጠበቀ {
ደውል_ያልተጠበቀ_fn_ptr(|| {
dbg! ();
});
}
} - ያለ ክርክር dbg!() ማክሮን የመጥራት ችሎታ ታክሏል።
ለዚህ ማክሮ የተወሰነ አገላለጽ ካስተላለፉ፣ ማክሮው ውጤቱን ያትማል። ለምሳሌ:
fn ዋና() {
ሙት x = 0;dbg ከሆነ!(x == 1) {
x += 1;
}dbg! (x);
}ይህን ኮድ ስታሄድ የሚከተሉትን ታያለህ፡-
[src/main.rs:4] x == 1 = ሐሰት
[src/main.rs:8] x = 0አሁን እንደዚህ መጻፍ ይችላሉ-
fn ዋና() {
ሁኔታ = እውነት;ሁኔታ ከሆነ {
dbg! ();
}
}ይህን ኮድ ስታሄድ የሚከተሉትን ታያለህ፡-
[src/main.rs:5] - አንዳንድ የመደበኛ ቤተ-መጽሐፍት ክፍሎች ተረጋግተዋል።
- ለf32 እና f64 አዲስ ዘዴዎች፡-
- f32 :: የቅጂ ምልክት
- f64 :: የቅጂ ምልክት
በእውነቱ ተግባራት የሌላ ቁጥር ምልክትን ይገለብጣሉ። ለምሳሌ:
fn ዋና() {
አስርት_ኢቅ!(3.5_f32.copysign (-0.42)፣ -3.5);
} - ለክልል ዓይነቶች አዲስ ዘዴዎች ታክለዋል።
- ክልል:: ይዟል
- RangeFrom:: ይዟል
- ክልልቶ:: ይዟል
- ክልል አካታች:: ይዟል
- RangeToInclusive:: ይዟል
በእነዚህ ዘዴዎች አንድ የተወሰነ እሴት በቅደም ተከተል ከሆነ በቀላሉ ማረጋገጥ ይችላሉ-
fn ዋና() {
(0..=10) ከሆነ (&5) {
println! ("አምስት ከዜሮ እስከ አስር ውስጥ ተካትቷል.");
}
} - የተሟላ የተረጋጉ ኤፒአይዎች ዝርዝር ማግኘት ይችላሉ። እዚህ
- ለf32 እና f64 አዲስ ዘዴዎች፡-
- በዚህ ማሻሻያ ውስጥ ክሊፒ (ይህ ኮድዎን ለብዙ ስህተቶች የሚፈትሽ ፕሮግራም ነው) ለ drop_bounds አዲስ ቼክ አክሏል። ይህ ቼክ የሚሠራው ገደብ ሲያዘጋጁ ነው፡ T፡ drop - ለአጠቃላይ ተግባራት፡-
fn foo (x:T){}ቲ፡ መከልከል ብዙውን ጊዜ ስህተት ነው፣ ምክንያቱም አንዳንድ ዓይነቶች ወዲያውኑ ስለሚገለሉ ለምሳሌ u8 (ስለዚህ የበለጠ ማንበብ ይችላሉ) እዚህ)
- በካርጎ ውስጥ ብዙ ማሻሻያዎች እና ጥገናዎች (የቋንቋ ጥቅል አስተዳዳሪ) ፣ ሙሉ ዝርዝር ለውጦች
ምንጭ: linux.org.ru
