Lägga till tredje partslådor i projektet

Slutförd

I den här modulen får du lära dig hur du lägger till tredjepartskällor i projektet. Standardbiblioteket har inte någon modul för reguljära uttryck, så vi lägger till den crate som regex är tillgänglig på Crates.io. Den här webbplatsen är Den centrala paketregistret i Gruppen som fungerar som en plats för att identifiera och ladda ned paket.

När vi vill lägga till beroende backar i projektet kan vi förlita oss på att Cargo gör allt grovjobb åt oss. Om du vill vara beroende av ett bibliotek crates.io lägger du till det i Cargo.toml filen:

[dependencies]
regex = "1.4.2"

Om du Cargo.toml inte redan har ett avsnitt lägger du till det [dependencies] avsnittet. Ange sedan det crate-namn och den version som du vill använda.

Nästa steg är att köra kommandot cargo build . Cargo hämtar det nya beroendet och alla dess beroenden och kompilerar dem alla:

    $ 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

Vi kan nu använda regex biblioteket i main.rs vår :

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"));
}

Om du kör den visas:

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

Du kan också använda tredje parts-kröte i Prak Playground.