#match #macro #variables #pattern

match_self

Rust 宏,用于常见的 "x = match x {" 模式

2 个版本

0.1.1 2022年8月1日
0.1.0 2022年8月1日

2979Rust 模式

MIT 许可证

4KB

match_self

Rust 宏,用于常见的 "x = match x" 模式

用法

你是否曾经写过类似这样的代码?

really_long_variable_name = match really_long_variable_name {
    ...
}

这里的问题是,我们必须两次写出变量名 really_long_variable_name
如果我们只需要写一次,那么在可读性方面就不会有任何问题。
然而,Rust 中没有 "匹配自身" 的语法,这正是这个crate提供的!

这个crate定义了一个 match_self 宏,它接受一个变量并允许你按名称匹配自身。

match_self!(really_long_variable_name, {
    ...
})

这个宏是一个声明式宏,因此它必须模仿常规Rust match语句的语法。然而,这个宏在编译时会展开成一个普通的match语句。


lib.rs:

match_self

Rust 宏,用于常见的 "x = match x" 模式

用法

你是否曾经写过类似这样的代码?

really_long_variable_name = match really_long_variable_name {
    ...
}

这里的问题是,我们必须两次写出变量名 really_long_variable_name
如果我们只需要写一次,那么在可读性方面就不会有任何问题。
然而,Rust 中没有 "匹配自身" 的语法,这正是这个crate提供的!

这个crate定义了一个 match_self 宏,它接受一个变量并允许你按名称匹配自身。

match_self!(really_long_variable_name, {
    ...
})

这个宏是一个声明式宏,因此它必须模仿常规Rust match语句的语法。然而,这个宏在编译时会展开成一个普通的match语句。

无运行时依赖