트랙
/
Clojure
Clojure
/
연습 문제
/
로그 레벨
로그 레벨

로그 레벨

학습 연습 문제

소개

Clojure의 string은 Java 문자열이에요. Java 문자열은 변경할 수 없는 텍스트를 유니코드 문자(글자, 숫자, 문장 부호 등)의 나열로 표현하는 객체이며, 다음과 같이 정의해요:

(def fruit "Apple")

clojure.string 라이브러리는 문자열을 다루고 처리하는 여러 표준 함수를 제공해요. 그 밖에도 Java에서 문자열을 조작하는 일반적인 메서드는 모두 상호 운용을 통해 사용할 수 있어요.

지침

이 연습 문제에서는 로그 라인을 처리해요.

각 로그 라인은 다음과 같은 형식의 문자열이에요: "[<LEVEL>]: <MESSAGE>".

로그 레벨은 세 가지가 있어요:

  • INFO
  • WARNING
  • ERROR

세 가지 과제가 있고, 각 과제는 로그 라인 하나를 받아서 그걸로 무엇인가를 해 달라고 해요.

1. 로그 라인에서 메시지 가져오기

message 함수를 구현해서 로그 라인의 메시지를 반환하게 해요:

(message "[ERROR]: Invalid operation")
;;=> "Invalid operation"

앞뒤의 공백은 제거해야 해요:

(message "[WARNING]:  Disk almost full\r\n")
;;=> "Disk almost full"

2. 로그 라인에서 로그 레벨 가져오기

log-level 함수를 구현해서 로그 라인의 로그 레벨을 반환하게 해요. 로그 레벨은 소문자로 반환해야 해요:

(log-level "[ERROR]: Invalid operation")
;;=> "error"

3. 로그 라인 형식 바꾸기

reformat 함수를 구현해서 로그 라인의 형식을 바꿔요. 메시지를 먼저 쓰고, 그다음에 로그 레벨을 괄호 안에 넣어요:

(reformat "[INFO]: Operation completed")
;;=> "Operation completed (info)"
GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Clojure Exercism

로그 레벨 문제를 시작해 볼 준비가 됐나요?

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