#escaping #fmt #chars #performance

无 std fast_escape

简单、快速转义字符

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2017年7月2日

#22#chars

每月 21 次下载
用于 macos-open

MITNFA 许可证

7KB
141

快速转义

简单、快速转义字符。

该软件包基于 fast_fmt 提供灵活性和速度。


lib.rs:

该软件包提供无需分配的字符泛型转义。它利用 fast_fmt 软件包来实现这一点。

# 示例

转义整个写入器

#[macro_use]
extern crate fast_fmt;
extern crate fast_escape;
extern crate void;

use fast_escape::Escaper;
use fast_fmt::Write;
use void::ResultVoidExt;

fn main() {
    let mut s = String::new();
    {
        let s = &mut s;
        let mut tr = s.transform(Escaper::new('\\', '$'));
    
        fwrite!(&mut tr, "abcd$efgh").void_unwrap();
    }
    
    assert_eq!(s, "abcd\\$efgh");
}

转义格式化文本的一部分

#[macro_use]
extern crate fast_fmt;
extern crate fast_escape;
extern crate void;

use fast_escape::Escaper;
use void::ResultVoidExt;

fn main() {
    let mut s = String::new();
    let special_chars = ['$', '"'];
    let escaper: Escaper<&[char]> = Escaper::new('\\', &special_chars);
    let value = "$Hello \"world\"!";
    fwrite!(&mut s, "$foo=\"", value.transformed(escaper), "\"").void_unwrap();

    assert_eq!(s, "$foo=\"\\$Hello \\\"world\\\"!\"");
}

依赖关系

~49KB