https://www.tutorialspoint.com/rust/rust_package_manager.htm
Cargo는 RUST의 패키지 관리자
Rust 프로젝트를 관리
Sr.No. | Command | Description |
---|---|---|
1 | cargo build | 현재 프로젝트 빌드 |
2 | cargo check | 프로젝트를 분석하고 오류 보고, 빌드 하지 않음 |
3 | cargo run | 프로젝트를 빌드하고 실행 |
4 | cargo clear | 빌드 타겟 디렉토리 클리어 |
5 | cargo update | Cargo.lock에 목록화된 종속성 업데이트 |
6 | cargo new | 새로운 프로젝트 생성 |
Cargo는 3rd party 라이브러리 다운로드 가능
자신만의 라이브러리를 구축 할 수 있음
Rust 설치시 Cargo는 기본적으로 설치
cargo new project_name --bin
cargo new project_name --lib
cargo new project_name --lib
내부 표준 라이브러리는 난수 생성 로직을 제공하지 않음
crates.io 웹사이트에서 검색 가능
crates.io
rand
Cargo.toml의 [dependency]에 rand = "0.8.4" 추가
프로젝트 폴더에서 cargo build 명령으로 프로젝트 빌드
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;
}
}
}