트랙
/
Rust
Rust
/
연습 문제
/
반정형 로그
반정형 로그

반정형 로그

학습 연습 문제

소개

enum은 enumeration의 줄임말로, 어떤 데이터가 가질 수 있는 모든 값을 제한하는 타입이에요. enum이 가질 수 있는 값들을 배리언트라고 해요. enum은 match를 비롯한 다른 제어 흐름 연산자와도 잘 어울려서, Rust 프로그램에서 의도를 표현하는 데 도움이 돼요.

지침

이 연습 문제에서는 반구조화된 로그 메시지를 생성해요.

1. 반구조화된 메시지 출력하기

몇 가지 스텁 함수와 다음 열거형으로 시작해요:

#[derive(Clone, PartialEq, Debug)]
pub enum LogLevel {
    Info,
    Warning,
    Error,
}

목표는 다음과 같은 로그 메시지를 출력하는 거예요: "[<LEVEL>]: <MESSAGE>". 로그 레벨에 해당하는 함수를 구현해야 해요.

예를 들어, 아래 코드는 log 함수의 예상 출력을 보여줘요.

log(LogLevel::Error, "Stack overflow")
// Returns: "[ERROR]: Stack overflow"

그리고 info 함수는 다음과 같아요:

info("Timezone changed")
// Returns: "[INFO]: Timezone changed"

즐겁게 해봐요!

2. 선택적 추가 연습

이 테스트 모음에는 기능 게이트가 적용된 테스트가 있어요. 기능 게이트는 프로그램의 특정 부분에 대해 컴파일을 완전히 비활성화해요. 이 내용은 나중에 다뤄요. 지금은 특별한 테스트 명령을 사용할 때만 빌드되고 실행되는 테스트가 있다는 것만 알아두세요:

cargo test --features add-a-variant

이 테스트는 열거형에 변형을 추가하는 방법을 보여주기 위한 거예요.

GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Rust Exercism

반정형 로그 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 Rust 트랙을 연습 문제 99개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.