본문 바로가기

개발 이야기/Rust 언어 이야기

이 정도 이해하면 rust 언어 사용자라고 할 수도~

728x90

rust 관련 공부를 하면서 우연히 좋은 곳을 발견하였습니다.

링크는 하기와 같은데요.

  => https://rinthel.github.io/rust-lang-book-ko/ch02-00-guessing-game-tutorial.html

 

위 링크 내용은 rust언어의 전체적인 맛보기 용으로 rust로 작성된 "숫자 추리 게임"의

코드와 rust 개발환경을 언급하면서 rust가 다른 언어들과의 차별점이나 특징이

무엇인지 알려줍니다.

 

물론 이게 rust의 다는 아니지만,

기존에 다른 언어를 다루어 보았던 SW엔지니어 또는 SW개발자라면

이 링크만 봐도 rust는이런 문법과 환경으로 동작하는구나 하고 알 수 있을 것 같습니다.

 

그럼 추가로,

   위 링크의 데모용인 "숫자 추리 게임"의 완성된 코드를 아래와 같아 옮겨 봅니다.

 

extern crate rand;

use std::io;
use std::cmp::Ordering;
use rand::Rng;

fn main() {
    println!("Guess the number!");

    let secret_number = rand::thread_rng().gen_range(1, 101);

    loop {
        println!("Please input your guess.");

        let mut guess = String::new();

        io::stdin().read_line(&mut guess)
            .expect("Failed to read line");

        let guess: u32 = match guess.trim().parse() {
            Ok(num) => num,
            Err(_) => continue,
        };

        println!("You guessed: {}", guess);

        match guess.cmp(&secret_number) {
            Ordering::Less    => println!("Too small!"),
            Ordering::Greater => println!("Too big!"),
            Ordering::Equal   => {
                println!("You win!");
                break;
            }
        }
    }
}

 

위의 코드가 만약 이해가 안가는 부분이 있다면,

이미 알려준 위의 링크를 가보시면

상세하고 자세히 그리고 쉽게 설명하고 있습니다.

 

추가로, 위 링크의 코드는 하기의 깃허브에서도

    확인할 수 있습니다.

    => 깃허브: https://github.com/opensupport-ceo/rust-learning-on-web/blob/main/guessing_game/src/main.rs

 

그럼,

    공유합니다.