Rust-패키지 관리자
Cargo는 RUST의 패키지 관리자입니다. 이것은 도구처럼 작동하고 Rust 프로젝트를 관리합니다.
일반적으로 사용되는화물 명령은 아래 표에 나열되어 있습니다.
Sr. 아니요 | 명령 및 설명 |
---|---|
1 | cargo build 현재 프로젝트를 컴파일합니다. |
2 | cargo check 현재 프로젝트를 분석하고 오류를보고하지만 개체 파일은 빌드하지 않습니다. |
삼 | cargo run src / main.rs를 빌드하고 실행합니다. |
4 | cargo clean 대상 디렉토리를 제거합니다. |
5 | cargo update Cargo.lock에 나열된 종속성을 업데이트합니다. |
6 | cargo new 새로운화물 프로젝트를 생성합니다. |
Cargo는 타사 라이브러리를 다운로드하는 데 도움이됩니다. 따라서 패키지 관리자처럼 작동합니다. 자신 만의 라이브러리를 구축 할 수도 있습니다. 카고는 Rust를 설치할 때 기본적으로 설치됩니다.
새로운화물 프로젝트를 생성하기 위해 아래에 주어진 명령을 사용할 수 있습니다.
바이너리 상자 만들기
cargo new project_name --bin
도서관 상자 만들기
cargo new project_name --lib
화물의 현재 버전을 확인하려면 다음 명령을 실행하십시오.
cargo --version
일러스트-Binary Cargo 프로젝트 만들기
게임은 임의의 숫자를 생성하고 사용자에게 숫자를 추측하도록합니다.
1 단계-프로젝트 폴더 만들기
터미널을 열고 다음 명령 cargo new guess-game-app --bin을 입력하십시오 .
그러면 다음과 같은 폴더 구조가 생성됩니다.
guess-game-app/
-->Cargo.toml
-->src/
main.rs
화물 새로운 명령은 상자를 만드는 데 사용됩니다. --bin 플래그는 작성되는 상자가 진 상자 있음을 나타냅니다. 공개 상자는 crates.io라는 중앙 저장소에 저장됩니다.https://crates.io/.
2 단계-외부 라이브러리에 대한 참조 포함
이 예제는 난수를 생성해야합니다. 내부 표준 라이브러리는 난수 생성 로직을 제공하지 않으므로 외부 라이브러리 또는 상자를 살펴볼 필요가 있습니다. 사용하자randcrates.io 웹 사이트 crates.io 에서 구할 수있는 상자
그만큼 https://crates.io/crates/rand난수 생성을위한 Rust 라이브러리입니다. Rand는 난수를 생성하고, 유용한 유형과 분포로 변환하고, 일부 난수 관련 알고리즘을 생성하는 유틸리티를 제공합니다.
다음 다이어그램은 crate.io 웹 사이트와 rand crate에 대한 검색 결과를 보여줍니다.
rand crate의 버전을 Cargo.toml 파일 rand = "0.5.5"에 복사합니다 .
[package]
name = "guess-game-app"
version = "0.1.0"
authors = ["Mohtashim"]
[dependencies]
rand = "0.5.5"
3 단계 : 프로젝트 컴파일
프로젝트 폴더로 이동합니다. 명령 실행cargo build 터미널 창에서-
Updating registry `https://github.com/rust-lang/crates.io-index`
Downloading rand v0.5.5
Downloading rand_core v0.2.2
Downloading winapi v0.3.6
Downloading rand_core v0.3.0
Compiling winapi v0.3.6
Compiling rand_core v0.3.0
Compiling rand_core v0.2.2
Compiling rand v0.5.5
Compiling guess-game-app v0.1.0
(file:///E:/RustWorks/RustRepo/Code_Snippets/cargo-projects/guess-game-app)
Finished dev [unoptimized + debuginfo] target(s) in 1m 07s
랜드 크레이트와 모든 전이 종속성 (rand의 내부 종속성)이 자동으로 다운로드됩니다.
4 단계-비즈니스 로직 이해
이제 숫자 추측 게임에서 비즈니스 로직이 어떻게 작동하는지 살펴 보겠습니다.
게임은 처음에 난수를 생성합니다.
사용자는 입력을 입력하고 숫자를 추측해야합니다.
숫자가 생성 된 숫자보다 작 으면 "너무 낮음"메시지가 인쇄됩니다.
숫자가 생성 된 숫자보다 크면 "너무 높음"메시지가 인쇄됩니다.
사용자가 프로그램에서 생성 한 번호를 입력하면 게임이 종료됩니다.
5 단계-main.rs 파일 편집
main.rs 파일에 비즈니스 로직을 추가하십시오.
use std::io;
extern crate rand;
//importing external crate
use rand::random;
fn get_guess() -> u8 {
loop {
println!("Input guess") ;
let mut guess = String::new();
io::stdin().read_line(&mut guess)
.expect("could not read from stdin");
match guess.trim().parse::<u8>(){ //remember to trim input to avoid enter spaces
Ok(v) => return v,
Err(e) => println!("could not understand input {}",e)
}
}
}
fn handle_guess(guess:u8,correct:u8)-> bool {
if guess < correct {
println!("Too low");
false
} else if guess> correct {
println!("Too high");
false
} else {
println!("You go it ..");
true
}
}
fn main() {
println!("Welcome to no guessing game");
let correct:u8 = random();
println!("correct value is {}",correct);
loop {
let guess = get_guess();
if handle_guess(guess,correct){
break;
}
}
}
6 단계-프로젝트 컴파일 및 실행
터미널에서 화물 실행 명령을 실행합니다 . 터미널이 프로젝트 디렉토리를 가리키는 지 확인하십시오.
Welcome to no guessing game
correct value is 97
Input guess
20
Too low
Input guess
100
Too high
Input guess
97
You got it ..