Crates.io | chinese-rand |
lib.rs | chinese-rand |
version | 0.2.1 |
source | src |
created_at | 2024-05-22 15:53:28.484952 |
updated_at | 2024-09-22 00:34:24.14877 |
description | Random generation of data structures in Chinese, using Rust |
homepage | |
repository | https://github.com/giancosta86/chinese-rand |
max_upload_size | |
id | 1248077 |
size | 41,155 |
Random generation of data structures in Chinese, using Rust
This crate is designed to instantiate random instances
of the data structures implementing the ChineseFormat
trait, made available by chinese_format.
The core concept is the ChineseFormatGenerator
struct,
which can be instantiated by passing an object implementing
the RawGenerator
trait:
use chinese_format::{ChineseFormat, Fraction, Variant};
use chinese_rand::*;
fn main() -> GenericResult<()> {
let generator = ChineseFormatGenerator::new(FastRandGenerator::new());
// Now setting the random seed just in order to
//predict the generated values
fastrand::seed(90);
let fraction: Fraction = generator.fraction(1..=10, 1..=10)?;
let chinese = fraction.to_chinese(Variant::Simplified);
assert_eq!(chinese, "六分之七");
#[cfg(feature = "gregorian")]
{
// Now setting the random seed just in order to
//predict the generated values
fastrand::seed(91);
let gregorianGenerator = generator.gregorian();
let delta_time = gregorianGenerator.delta_time(
gregorian::DeltaTimeParams {
formal: true
}
);
assert_eq!(
delta_time.to_chinese(Variant::Simplified),
"差六分五点"
);
}
Ok(())
}
fastrand
: enables FastRandGenerator
, based on fastrand. Enabled by default.
digit-sequence
: enables random generation of data types - like Decimal
- based on DigitSequence.
currency
: enables the random generation of the data types in the currency
module.
gregorian
: enables the random generation of the data types in the gregorian
module, which is dedicated to dates and times.
Also enables: digit-sequence
.
https://crates.io/crates/chinese-rand