#string #decorate #multiply

multiprint

方便的字符串乘法工具包

4 个版本

0.1.3 2020年1月22日
0.1.2 2020年1月22日
0.1.1 2020年1月11日
0.1.0 2020年1月11日

#240 in 值格式化

MIT/Apache

9KB
78

Build Status cratesio docsrs

MultiPrint - Rust 便捷的字符串值乘法特质

这是一个基本的 crate,它提供了一个字符串乘法特质,并为其实现了 Rust 的 std::str::String

如果您希望为您的类型实现 MultiPrint 特质,您需要确保这些类型支持 ToString 特质,该特质在实现 std::fmt::Display 时默认实现。

使用该 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('-', '|'));
}

示例

目前只有一个示例,因为该 crate 非常简单。如果随着时间的推移复杂性增加,我会添加更多有针对性的示例。在此期间,要运行示例,只需输入

$ cargo run --example sample_headers

无运行时依赖