إضافة صناديق الجهات الأخرى إلى مشروعك

مكتمل

في هذه الوحدة النمطية، سوف نتعلم كيفية إضافة صناديق الجهات الأخرى إلى مشروعك. لا تحتوي مكتبة Rust القياسية على وحدة نمطية للتعبيرات العادية، لذلك دعنا نضيف الصندوق regex المتوفر في Crates.io. هذا الموقع هو سجل الحزمة المركزية لمجتمع Rust الذي يكون بمثابة موقع لاكتشاف وتنزيل الحزم.

كلما أردنا إضافة صناديق تابعة إلى مشروعنا، يمكننا الاعتماد على Cargo للقيام بكل الأحمال الثقيلة لنا. للاعتماد على مكتبة مستضافة على crates.io، أضفها إلى Cargo.toml الملف:

[dependencies]
regex = "1.4.2"

Cargo.toml إذا لم يكن لديك [dependencies] مقطع بالفعل، أضف هذا المقطع. ثم اسرد اسم الصندوق والإصدار اللذين تريد استخدامهما.

الخطوة التالية هي تشغيل الأمر cargo build. سوف يجلب Cargo التبعية الجديدة وجميع تبعياتها، ويحوّلها برمجيًا كلها:

    $ cargo build
        Updating crates.io index
      Downloaded regex v1.4.2
      Downloaded thread_local v1.0.1
      Downloaded regex-syntax v0.6.21
      Downloaded lazy_static v1.4.0
      Downloaded aho-corasick v0.7.15
      Downloaded memchr v2.3.4
      Downloaded 6 crates (689.7 KB) in 4.58s
       Compiling memchr v2.3.4
       Compiling lazy_static v1.4.0
       Compiling regex-syntax v0.6.21
       Compiling thread_local v1.0.1
       Compiling aho-corasick v0.7.15
       Compiling regex v1.4.2
       Compiling my-project v0.1.0 (/home/user/code/my-project)
        Finished dev [unoptimized + debuginfo] target(s) in 35.13s

يمكننا الآن استخدام المكتبة regex في main.rs:

use regex::Regex;

fn main() {
    let re = Regex::new(r"^\d{4}-\d{2}-\d{2}$").unwrap();
    println!("Did our date match? {}", re.is_match("2014-01-01"));
}

تشغيلها سوف يُظهر:

    $ cargo run
       Running `target/hello_world`
    Did our date match? true

يمكنك أيضا استخدام صناديق الجهات الخارجية في Rust Playground.