2 个版本
0.1.1 | 2022年8月1日 |
---|---|
0.1.0 | 2022年8月1日 |
2979 在 Rust 模式
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语句。