anagram

Crates.ioanagram
lib.rsanagram
version0.4.0
sourcesrc
created_at2021-02-25 22:28:03.181514
updated_at2021-03-17 18:00:01.569709
descriptionA collection of anagram utility functions
homepagehttps://github.com/terror/anagram
repositoryhttps://github.com/terror/anagram
max_upload_size
id360723
size11,131
liam (terror)

documentation

https://docs.rs/anagram

README

anagram

crates.io Build and Test

A collection of anagram utility functions

Installation

You can install this crate by adding it to your Cargo.toml file

anagram = "0.3.0"

Examples

use anagram::{count, get_next, is_anagram, occurences};

fn main() {
  // count how many anagrams can be formed from a given word
  let anagram_count = count("ordeals");
  assert_eq!(anagram_count, 5040);

  // count the number of occurences of an anagram in a given word
  let occur = occurences("helloworldhello", "ll");
  assert_eq!(occur, 2);

  // check if a word is an anagram of another word
  let ok = is_anagram("rustiscool", "oolcsistru");
  assert_eq!(ok, true);

  // get the next lexicographically greater anagram
  let next = get_next("abcdefg");
  assert_eq!(next, "abcdegf");

  // get all anagrams of a word
  let mut word: String = String::from("abc");
  for _ in 0..count(&word) {
    // get next anagram
    word = get_next(&word);
    println!("{}", word);
  }
}
Commit count: 8

cargo fmt