aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/lib.rs b/src/lib.rs
index db8020e..330cc87 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -13,9 +13,16 @@ impl Model {
Model { chars }
}
- pub fn generate<Rng: RngCore>(&self, rng: &mut Rng, len: usize) -> String {
+ pub fn generate<Rng: RngCore>(
+ &self,
+ rng: &mut Rng,
+ len: usize,
+ first_char: Option<char>,
+ ) -> String {
let mut result = String::with_capacity(len);
- let mut prefix = NUM_OF_LETTERS;
+ let mut prefix = first_char
+ .map(|c| c as usize - b'a' as usize)
+ .unwrap_or(NUM_OF_LETTERS);
for _ in 0..len {
let chars = &self.chars[prefix];
let c = select_one_char(rng, &chars);