Expand description
multi-print - Extension Trait for convenient string value output multiplication
This is a basic crate that provides a string multiplier Trait and implements it
for Rust’s std::str::String
.
If you wish to implement the MultiPrint
trait for your types, you will need
to ensure that those types support the ToString
trait which is implemented
by default when you implement std::fmt::Display
.
An example of using the crate:
use multiprint::{MultiPrint, Decorate};
fn main() {
let s = String::from("Echo..");
println!("{}", s.times(5, ' '));
assert_eq!(s.times(5, ' '), "Echo.. Echo.. Echo.. Echo.. Echo..");
assert_eq!("Hello!".to_string().times(2, ' '), "Hello! Hello!");
// this will output:
//
// Header 1
// --------
//
println!("{}", "Header 1".to_string().underline('-'));
// this will output:
//
// --------
// Header 1
//
println!("{}", "Header 1".to_string().overline('-'));
// this will output:
//
// ________
// Header 1
// ========
//
println!("{}", "Header 1".to_string().outline('_', '='));
// this will output:
//
// ------------
// | Header 1 |
// ------------
//
println!("{}", "Header 1".to_string().border('-', '|'));
}
Traits§
- Decorate
- The
Decorate
trait exposes methods for decorating text with underlines, overlines and outlines - Multi
Print - This MultiPrint trait exposes a default implementation of the
times()
method