Rust 1.30.0 เวอร์ชันใหม่มาพร้อมกับระบบโมดูลที่ได้รับการปรับปรุงและอื่น ๆ

โลโก้สนิมพร้อมเกียร์

สนิมหรือสนิมแลง เป็นภาษาโปรแกรมโอเพ่นซอร์สที่ค่อนข้างทันสมัยและทันสมัยนอกจากนี้ยังมีหลายแพลตฟอร์มที่รวดเร็วและ ออกแบบมาเพื่อแทนที่ C และ C ++.

สร้างโดย Mozilla และมีนามธรรมระดับสูงเพื่อเอาใจผู้ที่มาจาก C # และ Java

และนั่นไม่ใช่ทั้งหมด เราสามารถเห็นคุณสมบัติที่น่าสนใจมากมายที่ไม่ปรากฏในภาษาโปรแกรมอื่น ๆเช่นการลดต้นทุนเป็นศูนย์, สัญศาสตร์การเคลื่อนไหว, การรับประกันความปลอดภัยของหน่วยความจำ, เวลาในการดำเนินการที่ลดลงเป็นต้น

เกี่ยวกับ Rust 1.30.0 เวอร์ชันใหม่

ผู้พัฒนา Rust ได้ประกาศเวอร์ชันใหม่ 1.30.0 ภาษาโปรแกรมของคุณ

เวอร์ชันใหม่ของภาษานี้ เพิ่มประเภทใหม่ของมาโครขั้นตอนกำหนดความถูกต้องเป็น "ใช้" และปรับปรุงระบบโมดูล

แอททริบิวต์และมาโครโพรซีเดอร์ที่เหมือนฟังก์ชันเป็นส่วนเสริมใหม่ล่าสุดของ Rust 1.30.0

ก่อนหน้านี้คล้ายกับมาโคร Derive ที่กำหนดเอง แต่ให้คุณกำหนดแอตทริบิวต์ใหม่และที่กำหนดเองได้ เพิ่มเติมแทนแอตทริบิวต์ "# [Derive]"ช่วยให้คุณสามารถสร้างแอตทริบิวต์ที่กำหนดเองใหม่ของคุณเอง

นอกจากนี้พวกเขาไม่เพียง แต่ใช้กับโครงสร้างและ enum เท่านั้น แต่ยังใช้กับฟังก์ชันด้วย

การเปลี่ยนแปลงและนวัตกรรมอื่น ๆ จะอธิบายถึงการประกาศอย่างเป็นทางการของเวอร์ชันปัจจุบันตลอดจนบันทึกประจำรุ่นโดยละเอียดบางประการเกี่ยวกับ Github

เกี่ยวกับ "สนิมอัปเดตเสถียร" อาจเป็นรุ่น Rust ใหม่

Rust 1.30 ขยายสิ่งนี้โดยการเพิ่มความสามารถในการกำหนดประเภทมาโครขั้นสูงอื่น ๆ อีกสองประเภท, "มาโครขั้นตอนที่เหมือนแอตทริบิวต์" และ "มาโครขั้นตอนที่เหมือนฟังก์ชัน"

นอกจากนี้ยังมีความยืดหยุ่นมากขึ้น - ได้มาซึ่งใช้ได้กับโครงสร้างและ enums เท่านั้น แต่แอตทริบิวต์สามารถไปที่อื่นเช่นฟังก์ชัน

ตัวอย่างของการใช้มาโครที่มีลักษณะคล้ายแอตทริบิวต์คุณอาจมีบางอย่างเช่นนี้เมื่อใช้กรอบงานเว็บแอปพลิเคชัน

มาโครขั้นตอนที่เหมือนฟังก์ชันกำหนดมาโครที่ดูเหมือนการเรียกใช้ฟังก์ชัน ในกรณีของ SQL อาจเป็นดังนี้:

let sql = sql! (SELECT * FROM posts WHERE id = 1); 

มาโครซึ่งเป็นที่รู้จักโดยเครื่องหมายอัศเจรีย์จะแยกวิเคราะห์คำสั่ง SQL ที่ฝังไว้และตรวจสอบความถูกต้องทางวากยสัมพันธ์ตามประกาศเวอร์ชันใหม่ สามารถกำหนดได้ผ่าน:

# [Proc_macro]

pub fn sql (input: TokenStream) -> TokenStream {...} 

ที่นี่มาโครที่เหมือนฟังก์ชันจะเป็นไปตาม Derive macro โดยการประเมินโค้ดในวงเล็บและส่งคืนโค้ดที่จะสร้าง

ในเวลาเดียวกันสัญกรณ์ข้างต้น "# [Macro_use]" เคยใช้มาโครกล่องภายนอก แทนที่การใช้ "use"

ปรับปรุงระบบโมดูล

สำคัญไม่น้อย นักพัฒนาได้ปรับปรุงระบบโมดูลหรือเปลี่ยนแปลงกฎไวยากรณ์ที่ยุ่งยากและผิดปกติ

จนถึงขณะนี้ปัญหาเกิดขึ้นเมื่อนักพัฒนาย้ายฟังก์ชันไปยังโมดูลย่อยโดยไม่มีคำนำหน้า "ใช้" อย่างชัดเจน

สนิม 1.30.0

สนิมเพิ่งตรวจสอบเส้นทางเพื่อตรวจจับโดยอัตโนมัติว่าเป็นกล่องภายนอกหรือไม่ หากเป็นเช่นนั้นระบบจะใช้โดยไม่คำนึงถึงตำแหน่งปัจจุบันในลำดับชั้นของโมดูล

สนิมยังปรับให้เข้ากับการใช้คำหลัก«ลัง». ตัวอย่างเช่น "use crate :: foo :: bar;" บ่งชี้ว่าเส้นทางไปยังฟังก์ชัน "bar" เริ่มต้นจากโมดูล foo ในไดเร็กทอรีรากของกล่องไม่ใช่จากไดเร็กทอรีปัจจุบัน

ตัวอย่างเช่นช่วยให้สามารถเรียกใช้ฟังก์ชันของโมดูลหมายเลข 1 นอกฟังก์ชันของโมดูลหมายเลข 2 ได้โดยไม่ต้องใช้ "ใช้"

จะติดตั้ง Rust 1.30.0 บน Linux ได้อย่างไร?

สำหรับผู้ที่สนใจติดตั้ง Rust บนระบบควรดาวน์โหลดแพ็คเกจที่จำเป็นใน distro ของเราสำหรับสิ่งนี้เราจะใช้ curl:

curl https://sh.rustup.rs -sSf | sh 

ด้วยเหตุนี้เราจึงเข้าถึงไซต์และเรียกใช้สคริปต์

ตัวเลือกต่างๆจะเปิดให้เราในเทอร์มินัลของเราและเราต้องตอบอย่างเหมาะสม คุณต้องกด 1 เพื่อดำเนินการติดตั้งต่อด้วยค่าเริ่มต้นซึ่งแนะนำสำหรับส่วนใหญ่

เมื่อเสร็จแล้วเราสามารถกำหนดค่าเชลล์ปัจจุบันของเราให้เริ่มทำงานได้:

source $HOME/.cargo/env 

และเริ่มใช้งานได้เลย ตัวอย่างเช่นหากคุณต้องการดูเวอร์ชันที่คุณเพิ่งติดตั้งและตรวจสอบว่าทุกอย่างเรียบร้อยดี:

rustc --version 

หากคุณติดตั้ง Rust และต้องการอัปเดตเป็นเวอร์ชันใหม่คุณต้องพิมพ์:

rustup update stable 

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา