3个版本
使用旧的Rust 2015
0.0.3 | 2016年10月12日 |
---|---|
0.0.2 | 2016年10月12日 |
0.0.1 | 2016年10月12日 |
21 in #accessor
7KB
121 行
#[derive(accessors)]
:Rust的获取器和设置器(WIP)
这是一个正在进行中的项目! API可能会发生变化。
我们使用nightly Rust中的新宏1.1支持来自动生成基本的获取器和设置器。如果你有一个导出具有许多字段的库,但不想使字段本身公开,这将很有用。
如果你指定#[setters(into = true)]
,你可以生成使用Into
来自动转换为所需类型的设置器。
#![feature(proc_macro)]
#[macro_use]
extern crate accessors;
#[derive(getters, setters)]
#[setters(into = true)]
struct Simple {
field: String,
}
impl Simple {
pub fn new(field: String) -> Simple {
Simple { field: field }
}
}
fn main() {
let mut s = Simple::new("hello".to_owned());
println!("{}", s.field());
s.set_field("there");
}
目前,你只能用nightly Rust使用它,但David Tolnay制定了一个路线图,说明如何与稳定Rust一起使用。
依赖项
~2MB
~44K SLoC