Rust - ผู้จัดการแพ็คเกจ

Cargo เป็นผู้จัดการพัสดุของ RUST สิ่งนี้ทำหน้าที่เหมือนเครื่องมือและจัดการโครงการ Rust

คำสั่งขนส่งสินค้าที่ใช้กันทั่วไปแสดงอยู่ในตารางด้านล่าง -

ซีเนียร์ No คำสั่งและคำอธิบาย
1

cargo build

รวบรวมโครงการปัจจุบัน

2

cargo check

วิเคราะห์โครงการปัจจุบันและรายงานข้อผิดพลาด แต่อย่าสร้างไฟล์ออบเจ็กต์

3

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 - สร้างโฟลเดอร์โครงการ

เปิดสถานีและพิมพ์คำสั่งต่อไปนี้การขนส่งสินค้าใหม่เดาเกมแอป --bin

สิ่งนี้จะสร้างโครงสร้างโฟลเดอร์ต่อไปนี้

guess-game-app/
   -->Cargo.toml
   -->src/
      main.rs

ขนส่งสินค้าใหม่คำสั่งที่ใช้ในการสร้างลัง --binธงบ่งชี้ว่าลังที่ถูกสร้างขึ้นเป็นลังไบนารี ลังสาธารณะจะถูกเก็บไว้ในที่เก็บส่วนกลางที่เรียกว่า crates.iohttps://crates.io/.

ขั้นตอนที่ 2 - รวมการอ้างอิงไปยังไลบรารีภายนอก

ตัวอย่างนี้จำเป็นต้องสร้างตัวเลขสุ่ม เนื่องจากไลบรารีมาตรฐานภายในไม่มีตรรกะการสร้างตัวเลขแบบสุ่มเราจึงต้องดูที่ไลบรารีหรือลังภายนอก ให้เราใช้randลังซึ่งหาซื้อได้ที่เว็บไซต์crates.io crates.io

https://crates.io/crates/randเป็นห้องสมุดสนิมสำหรับการสร้างตัวเลขแบบสุ่ม Rand มียูทิลิตี้ในการสร้างตัวเลขสุ่มเพื่อแปลงเป็นประเภทและการแจกแจงที่มีประโยชน์และอัลกอริทึมที่เกี่ยวข้องกับการสุ่ม

แผนภาพต่อไปนี้แสดงเว็บไซต์ crate.io และผลการค้นหาลังแรนด์

คัดลอกรุ่นของแรนด์ลังไปยังแฟ้ม Cargo.toml แรนด์ = "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

ลังแรนด์และการอ้างอิงสกรรมกริยาทั้งหมด (การอ้างอิงภายในของแรนด์) จะถูกดาวน์โหลดโดยอัตโนมัติ

ขั้นตอนที่ 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 - รวบรวมและดำเนินการโครงการ

ดำเนินการคำสั่งขนส่งสินค้าบนเทอร์มินัล ตรวจสอบให้แน่ใจว่าเทอร์มินัลชี้ไปที่ไดเร็กทอรี Project

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