1 个不稳定版本
0.1.3 | 2023年5月2日 |
---|---|
0.1.2 |
|
0.1.1 |
|
0.1.0 |
|
#20 在 #spinner
每月下载量 35 次
17KB
129 行
SLL
Simple Logging Library
SLL 提供在 Rust 中的简单函数,用于进行基本日志记录。
日志!()
log!()
宏接收消息(String
或 &str
)以及可选的 LogLevel
:Critical
、Error
、Warning
、Info
、Debug
和 Notice
。
示例代码
use sll;
fn main() {
sll:log!("Criticall error", LogLevel::CRITICAL);
sll:log!("Error", LogLevel::ERROR);
sll:log!("Warning", LogLevel::WARNING);
sll:log!("Information", LogLevel::INFO);
sll:log!("Debugging is hard", LogLevel::DEBUG);
sll:log!("Hello", LogLevel::NOTICE);
}
section!()
、task!()
和 prompt!()
部分用于描述代码的主要部分,例如在餐厅机器人程序中,制作开胃菜、制作晚餐和制作甜点都是部分。
任务用于描述示例中的较小代码片段,例如一个任务可能是:削胡萝卜、切胡萝卜...
提示可能是最简单且已知的概念。你会在命令行中请求用户输入。
部分、任务和提示都有一个必需的参数,一个消息,以及一个可选的参数,一个深度。
深度可以用来指定子部分或子任务,子任务的深度高于其父任务。
示例代码
use sll;
fn main() {
let p = sll:prompt!("Ready for dinner");
sll:section!("Make starter");
sll:task!("Boil water");
sll:task!("Add bouillon");
sll:section!("Make dinner");
sll:section!("Cut greens", 1);
sll:task!("Carrot", 1);
sll:task!("Peel carrot", 2);
sll:task!("Cut carrot", 2);
sll:task!("Potato", 1);
sll:task!("Peel potato", 2);
sll:task!("Cut potato", 2);
// TODO: rest of meal
}
Spinner
和 Progress
旋转器和进度条都用于传达计算机正在认真思考的消息。
当不知道循环将花费多长时间时,应使用旋转器。
当你知道循环将花费多长时间(多少次迭代)时,使用进度条。
示例代码
use ssl;
fn main() {
let spinner = ssl::Spinner::new();
loop {
spinner.update();
let result = do_something();
if result.done {
break;
}
}
spinner.release();
let progress = ssl::Progress::new(100, 0);
for i in 1..101 {
do_something(i);
progress.update(1);
}
progress.release();
}
依赖项
~0–9.5MB
~42K SLoC