3 个版本
0.1.2 | 2022 年 8 月 19 日 |
---|---|
0.1.1 | 2022 年 8 月 18 日 |
0.1.0 | 2022 年 8 月 18 日 |
2181 在 算法 中
872 每月下载量
在 basic_trie 中使用
115KB
1.5K SLoC
Randomizer
Randomizer 提供了一个简单的随机信息创建实现,例如随机字符串和字节。Rust 有很多随机化库。它们通常要么使用复杂且安全,要么易于使用但与代码有重大差异,例如使用不安全的函数或解包潜在的 Error 数据。因此,我创建了此库来解决这个问题。
生成。
有两种(实际上三种)类型的字节生成。基本概念是生成随机字节,用于 UTF8 字符串和字节或字节序列。此生成器将字符或字节的序列拆分,并从组合序列中生成一系列随机字节。如果字节序列是从有效的 UTF8 字符串生成的,则每个字符都可以分开,用于生成一系列有效的字节序列。这允许字节到 UTF8 的转换几乎无懈可击。
这也意味着如果系统提供一组单词,生成器可以将这些单词随机组合成序列。
用法
生成字符串
use randomizer::Randomizer;
let string = Randomizer::ALPHANUMERIC(6).string().unwrap();
assert_eq!(string.chars().count(), 6);
let string = Randomizer::new(6, Some("u")).string().unwrap();
assert_eq!(string, "uuuuuu");
生成字节值
use randomizer::{Charset, Randomizer};
let bytes = Randomizer::new(6, Some(Charset::AnyByte)).bytes().unwrap();
assert_eq!(bytes.len(), 6);
生成自定义单词字符串
use randomizer::{Charset, Randomizer};
let string = Randomizer::new(6, Some(vec!["foo","bar"])).string().unwrap();
assert_eq!(string.chars().count(), 18);
使用常量简单生成字符串
可以使用不同类型的简化函数生成字符串
use randomizer::{Randomizer};
let string = Randomizer::ALPHABETICAL(6).string().unwrap();
assert_eq!(string.chars().count(), 6);
依赖关系
~35KB