moreops

license version

A set of useful simple additional methods

Usage:

toml [dependencies] moreops = "*"

Examples:

```rust use moreops::*;

// Simple wrapping into Option let somenum = 123.some(); let nonenum = none::();

// Simple wrapping into Result let ok = 123.ok(); let err = "Error!".to_owned().err();

// If-like operations with Option let x = 42; let answer = (x % 2 == 0).option("even").unwrap_or("odd");

// Tap into some result (like <| and |> operators from Scalaz) fn f() -> i32 { 123 } asserteq!(f().tap(|x| println!("{:?}", x)), 123); asserteq!(f().then(|x| x * 2), 246);

// Swap result asserteq!(123.ok().swap(), 123.err()); asserteq!(123.ok().swap().swap(), 123.ok());

// Apply functions to tuples of args directly let x = (2, 3, 4).apply(|a, b, c| a * b * c); assert_eq!(x, 24);

// Use twice() to build map let map = (1..10).map(twice).collect::<::std::collections::BTreeMap<_, _>>(); ```