Crates.io | multiprint |
lib.rs | multiprint |
version | 0.1.3 |
source | src |
created_at | 2020-01-11 09:33:07.913939 |
updated_at | 2020-01-22 00:31:34.573531 |
description | A convenient string multiplication utility crate |
homepage | https://crates.io/crates/multiprint |
repository | https://github.com/carribus/rust-multiprint |
max_upload_size | |
id | 197449 |
size | 10,800 |
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('-', '|'));
}
At the moment, there is only one example since the crate is quite simple. If the complexity grows over time, I will add more targetted examples. In the meanwhile, to run the example, just type:
$ cargo run --example sample_headers