sada::sada! {
خارِجي صندوق sada;
استخدم std::collections::قاموس ك قاموسي;
سمه مفتاح_القيمة {
دالة اكتب(&ذات, مفتاح: نص, قيمة: نص);
دالة اقرأ(&ذات, مفتاح: نص) -> نتيجة<خيار<&نص>, نص>;
}
لا_حركة متغير قاموس: خيار<قاموسي<نص, نص>> = لا_شيء;
بنية محددة;
تنفيذ مفتاح_القيمة ل محددة {
دالة اكتب(&ذات, مفتاح: نص, قيمة: نص) {
دع قاموسي = غير_امن {
قاموس.خذ_او_ادخل_ب(افتراضي::طبيعي)
};
قاموسي.ادخل(مفتاح, قيمة);
}
دالة اقرأ(&ذات, مفتاح: نص) -> نتيجة<خيار<&نص>, نص> {
اذا دع بعض(قاموسي) = غير_امن { قاموس.ك_مرجِع() } {
حسنا(قاموسي.جلب(&مفتاح))
} آخر {
خطأ("لا يمكن جلب القاموس".إلى())
}
}
}
}
EntityPosition
or somethingdashmap
crate.