markov 0.0.17

A generic markov chain implementation in Rust.
docs.rs failed to build markov-0.0.17
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: markov-1.1.0

markov Build Status

A generic implementation of a Markov chain in Rust. Documentation can be found online here.

Examples

With Strings:

extern crate markov;

use markov::Chain;

fn main() {
    let mut chain = Chain::for_strings();
    chain.feed_str("I like cats and I like dogs.");
    println!("{}", chain.generate_str());
}

With integers:

extern crate markov;

use markov::Chain;

fn main() {
    let mut chain = Chain::new(0u8, 255);
    chain.feed(vec![1u8, 2, 3, 5]).feed(vec![3u8, 9, 2]);
    println!("{}", chain.generate());
}

Chains have iterators (both infinite and sized!):

extern crate markov;

use markov::Chain;

fn main() {
    let mut chain = Chain::for_strings();
    chain.feed_str("I like cats and I like dogs.");
    for line in chain.iter_for(5) {
        println!("{}", line);
    }
}

Contributing

Contributions to this library would be immensely appreciated. As this project is public domain, all prospective contributors must sign the Contributor License Agreement, a public domain dedication.