aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/lib.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2021-06-19 21:09:57 +0900
committernsfisis <nsfisis@gmail.com>2021-06-19 21:10:36 +0900
commit4dcf3dde286bb2602f2be96077b02d0947353e18 (patch)
treeff30b16c9ee204f27140087181b9cad84c3a6b07 /src/lib.rs
parentf9f462cd2feb811891fe4e4919534cbdb6dcba2c (diff)
downloadrand-word-gen-4dcf3dde286bb2602f2be96077b02d0947353e18.tar.gz
rand-word-gen-4dcf3dde286bb2602f2be96077b02d0947353e18.tar.zst
rand-word-gen-4dcf3dde286bb2602f2be96077b02d0947353e18.zip
Add '--prefix' option
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);