adjective-adjective-animal/README.md
2015-11-01 19:12:52 -07:00

1.8 KiB

names

Build Status license

Random name generator for Rust

Usage

This crate is on crates.io and can be used by adding names to your dependencies in your project's Cargo.toml file:

[dependencies]
names = "0.10.0"

and this to your crate root:

extern crate names;

Example: Painless defaults

The easiest way to get started is to use the default Generator to return a name:

use names::{Generator, Name};

fn main() {
    let mut generator = Generator::default(Name::Plain);

    println!("Your project is: {}", generator.next().unwrap());
    // #=> "Your project is: rusty-nail"
}

If more randomness is required, you can generate a name with a trailing 4-digit number:

use names::{Generator, Name};

fn main() {
    let mut generator = Generator::default(Name::Numbered);
    println!("Your project is: {}", generator.next().unwrap());
    // #=> "Your project is: pushy-pencil-5602"
}

Example: with custom dictionaries

If you would rather supply your own custom adjective and noun word lists, you can provide your own by supplying 2 string slices. For example, this returns only one result:

use names::{Generator, Name};

fn main() {
    let adjectives = &["imaginary"];
    let nouns = &["roll"];
    let mut generator = Generator::new(adjectives, nouns, Name::Plain);

    assert_eq!("imaginary-roll", generator.next().unwrap());
}