الوحدات وسيلة لتجميع الكود المترابط، ولتجنّب تعارض الأسماء، وهي موجودة عمومًا في جميع قواعد الأكواد إلا أبسطها.
الصياغة كما يلي:
mod my_module {
pub struct MyStruct {}
pub struct OtherClass {}
}
خارج نطاق الوحدة، يُشار إلى الأنواع المحتواة في الوحدات بوضع النقطتين المزدوجتين :: قبل اسم النوع.
أو، وهو الأكثر شيوعًا، يمكنك وضع توجيه use في أعلى الملف (أو داخل وحدة)، ثم يمكن استخدام الأنواع دون البادئة.
داخل الوحدة نفسها، لا حاجة إلى تأهيل أسماء الأنواع.
mod my_module {
#[derive(Drop)]
pub struct MyStruct {}
pub struct Foo {}
#[generate_trait]
pub impl FooImpl of FooTrait {
fn bar() {
let baz = MyStruct {};
}
}
}
#[derive(Drop)]
pub struct Qux {}
#[generate_trait]
impl QuxImpl of QuxTrait {
fn box() {
let nux = my_module::MyStruct {};
}
}
mod other_module {
use super::my_module::*;
#[derive(Drop)]
pub struct Tix {}
#[generate_trait]
pub impl TixImpl of TixTrait {
fn jeg() {
let lor = MyStruct {};
}
}
}
يمكنك إعطاء اسم مستعار لوحدة أو لنوع باستخدام الصياغة use core::array::ArrayTrait as Arr; ثم استخدام الاسم المستعار في أي مكان يمكن فيه استخدام الوحدة أو النوع.
بدأت الإدارة تطبيق المبادئ الداروينية على مشروع سيارة تحكم عن بُعد. وقد قُسّم المطوّرون إلى فريقين، Red و_Blue_، وكُلّفوا بتحسين التصميم كلٌّ بمعزل عن الآخر. ولا حاجة لهم إلى الانشغال بقرارات التصميم الخاصة بالفريق الآخر. وقد طُلب منك إلقاء نظرة على الكود لترى أفضل أسلوب لدمج الجهدين معًا لأغراض الاختبار.
استخدم الوحدات لتعبير أدق عن قصد الكود.
حاليًا، تُسبق أنواع مهمة مثل Motor وTelemetry، فضلًا عن RemoteControlCar نفسه، بلون الفريق المناسب <Color>RemoteControlCarTeam.
والغرض الوحيد من هذه البادئة هو السماح لأنواع تحمل الاسم نفسه بالتعايش في البرنامج.
والتعبير عن ذلك يكون أفضل باستخدام وحدة.
وسترى أن استخدام وحدة يتفوق على إضافة بادئة إلى الأنواع في تحقيق هذه الأغراض.
تشترط الإدارة أن يُطلق على الفريقين اسم "Red Remote Control Car Team" و"Blue Remote Control Car Team" في التعريفات، بل وأن تُستخدم هذه الأسماء الطويلة في الكود نفسه. غير أن هذه الأسماء مُرهقة إلى حد ما عند الإشارة إلى الفريقين.
ابحث عن أسلوب يتيح لك استخدام المُعرّفين الأقصر "Red" و"Blue" داخل الوحدة التي ستبني فيها السيارات.
سجّل في Exercism لتتعلّم وتتقن Cairo عبر 25 مفهومًا68 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.