1.2 KiB
1.2 KiB
incantata
incantata is a rust library that generates random words according to a provided structure
use incantata::*;
fn main() {
// structure of the language
let s = Structure {
// how many characters the onset is
onset: 1,
// allowed characters for the onset
onset_dict: CONSONANTS.chars().collect(),
// how many characters the nucleus is
nucleus: 1,
// allowed characters for the nucleus
nucleus_dict: VOCALS
.chars()
.cycle()
.take(VOCALS.len() * 5)
// .chain(VOCALS_ACCENTS.chars())
.collect(),
// how many characters the coda is
coda: 0,
// allowed characters for the coda
coda_dict: CONSONANTS.chars().collect(),
// minimum length of a word
min_len: 4,
// the words will be generated to be around this length
// due to the way incantata works (by combining valid syllables),
// we can't actually make a word of a given length
suggested_len: 15,
};
// generate 10 words
for _ in 0..10 {
println!("{}", incantata(&s));
}
}