#functional #getter #proc-macro #core #new

func_core

为命名结构体创建功能性核心的过程宏

1 个不稳定版本

0.1.0 2019年4月19日

#7#new

每月下载 23

MIT 许可证

5KB
58

func-core

func-core 是一个受Gary Bernhardt在 《功能性核心,命令行外壳》 屏幕录制启发的Rust过程宏。

此宏将对命名结构体执行操作,创建一个接受结构体所有成员作为参数的new()方法,并返回该结构体的新对象/实例,以及为每个结构体成员创建一个getter方法,该方法接受一个self引用(&self)并返回该成员的值。

示例

#[derive(FunctionalCore)]
struct Test {
    foo: u8,
    bar: f32
}

fn main() {
    let my_test = Test::new(1,2_f32);
    // each member has its specific getter that you can use
    assert_eq!(my_test.foo(), &1);
    assert_eq!(my_test.bar(), &2_f32);
}

用法

func_core = "*" 作为依赖项添加到您的Cargo.toml中,并运行 cargo build 下载它。之后,在要使用 derive 宏的Rust文件顶部添加 use fun-core::FunctionalCore

为什么?

懒惰。

依赖项

~2MB
~45K SLoC