rstring-builder

Crates.iorstring-builder
lib.rsrstring-builder
version0.1.4
sourcesrc
created_at2019-03-30 13:53:33.064066
updated_at2019-05-24 09:59:18.92171
descriptionString builder type
homepagehttps://github.com/fewensa/rstring-builder
repositoryhttps://github.com/fewensa/rstring-builder
max_upload_size
id124776
size12,399
(fewensa)

documentation

README

rstring-builder

Build Status

This create is a string builder type. If you want support append your type, you can impl Vcharsable and then append your struct.

rstring-builder is designed to be character built, so Vcharsable will return Vec<char> and rstring-bulder is actually maintaining this array.

Now support

  • &str
  • String
  • OsStr
  • char
  • bool
  • i8
  • i16
  • i32
  • i64
  • i128
  • isize
  • u8
  • u16
  • u32
  • u64
  • u128
  • usize
  • f32
  • f64

Usage

[dependencies]
rstring-builder = "0.1"

Example

use rstring_builder::StringBuilder;

#[test]
fn test_string_builder() {
  let mut builder = StringBuilder::new();
  builder.append("a")
    .append('b')
    .append("c".to_string())
    .append("\ndef");

  assert_eq!("bc\ndef".to_string(), builder.delete_at(0).string());
  assert_eq!("bdef".to_string(), builder.delete(1, 3).string());
  assert_eq!(4, builder.len());
  assert_eq!("b".to_string(), builder.delete(1, builder.len()).string());
  assert_eq!("".to_string(), builder.clear().to_string());
}

License

MIT

Commit count: 35

cargo fmt