Rust 마스코트로 콘솔 메시지 출력

2023. 3. 5. 18:07Language/Rust

Rust가 인기 있는 이유 중 ferris라는 마스코드가 있습니다.

이번엔 콘솔로 Ferris가 말풍선으로 말하는 것 처럼 출력하는 방법에 대해 알아보겠습니다.

먼저 프로젝트를 생성합니다.

> cargo new hello_ferris

├── Cargo.toml
└── src
    └── main.rs

위와 같이 Cargo.toml 파일과 main,rs 파일이 생성됩니다.

우선 std::io라는 I/O 기능을위한 표준 라이브러리를 추가합니다. 표준 라이브러리는 기본적으로 종속성을 추가하지 않아도 됩니다.

여기서는 모듈 페이지에서 조회할 수 있는 {stdout, BufWriter}만 사용합니다.


use std::io::{stdout,Bufwriter};

fn main() {

}

이제 ferris를 출력하기 위해 Cargo.toml에 의존성을 추가 합니다.

[dependencies]
ferris-says = "0.2.1"

마지막으로 아래와 같이 main 함수를 작성합니다.

use std::io::{stdout, BufWriter};

use ferris_says::say;

fn main() {
    let stdout = stdout();
    let message = String::from("안녕!");
    let width = message.chars().count();

    let mut writer = BufWriter::new(stdout.lock());
    say(message.as_bytes(), width, &mut writer).unwrap();
}
ferris_says
pub fn say<W>(input: &[u8], max_width: usize, writer: &mut W) 

ferris의 say 함수를 사용하기 위해서는 writer를 사용합니다.

BufWriter를 사용하면 println 보다 더 빠르게 출력이 가능합니다.

message에 출력하고 싶은 메시지를 적고 say 함수를 사용해서 출력합니다.

 _____
/ 안  \
\ 녕! /
 -----
        \
         \
            _~^~^~_
        \) /  o o  \ (/
          '_   -   _'
          / '-----' \

'Language > Rust' 카테고리의 다른 글

Rust gRPC 사용하기  (0) 2023.03.06
Rust로 폴더 감시자 만들기  (0) 2023.03.05
Rust Dangling Pointer  (0) 2023.02.25
Rust의 배열  (0) 2023.01.09
Rust의 제네릭(Generic)  (0) 2023.01.09