轨道
/
Clojure
Clojure
/
练习
/
日志级别
日志级别

日志级别

学习练习

简介

Clojure 中的string就是 Java 字符串,它是一种对象,把不可变的文本表示为 Unicode 字符(字母、数字、标点等)的序列,定义方式如下:

(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,借助 12 个概念105 个练习 和真人导师指导,学习并掌握 Clojure,全部免费。