3 个版本
0.1.2 | 2022 年 1 月 17 日 |
---|---|
0.1.1 | 2022 年 1 月 17 日 |
0.1.0 | 2022 年 1 月 4 日 |
#1287 in 文件系统
60 个每月下载量
被 4 crates 使用
23KB
460 行
ezio - 一个易于使用的 IO 库
ezio 提供了一个易于使用的 IO API,用于读取和写入文件以及 stdio。ezio 包含生成随机数和其他类似 IO 的功能。性能和惯用错误处理不是目标,因此 ezio 可能不适合生产使用。它更适合教育、实验和原型设计。
ezio 包装了标准库的 IO API 和其他成熟的 crates,并设计为与它们交互,因此 ezio 应该与大多数上游库兼容。
示例
use ezio::prelude::*;
fn main() {
// Read a line from stdin
let _ = stdio::read_line();
// Iterate lines in a file
for line in file::reader("path/to/file.txt") {
// ...
}
// Read a whole file
let _ = file::read("path/to/file.txt");
// Write to a file
file::write("path/to/file.txt", "Some text");
// Write multiple things to a file
let mut w = file::writer("path/to/file.txt");
w.write("Some text\n");
w.write("Some more text");
// Generates a random u32
let _ = random::u32();
}
设计原则
(ezio 正在开发中,因此这些可能仍然是目标)
- 易于使用!
- 易于导入 - 提供一个预导入文件,大多数用户将不需要其他任何东西
- 简单的模块层次结构
- 默认基于字符串,而不是基于字节
- 喜欢 panic:默认 panic,当您真正需要错误时使用
try_
版本的函数 - 喜欢分配:返回字符串等,而不是接受缓冲区
- 与 std IO 兼容并可互操作,因此程序可以逐步从 ezio 迁移到 std::io
- 仅仅因为我们正在进行简单的 IO,并不意味着程序的其他部分也是简单的。因此
- 应该是惯用的 Rust
- 应该支持泛型和 trait 对象等
依赖关系
~305KB