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 ..