< 返回版块

ZihanType 发表于 2023-03-21 09:35

Tags:函数, 命名参数, 默认参数

nade

nade, 一个为函数添加命名参数和默认参数的属性宏。

0.1.0版本之后,修复了一个 Bug,打磨了一下代码实现和文档,尝试了一下在leptos中替代view! {},用起来还是挺爽的。一个惊喜是cargo fmt会格式化nade生成的宏,写起来几乎和函数一样。

示例

pub use nade::core::*;
use nade::nade;

#[nade]
fn foo(#[nade(42)] a: i32, b: i32, #[nade] c: i32) -> i32 {
    a + b + c
}

fn main() {
    assert_eq!(foo!(b = 1, c = 2), 45);
    assert_eq!(foo!(a = 1, b = 2, c = 3), 6);
    assert_eq!(foo!(a = 1, b = 2), 3);
    assert_eq!(foo!(1, 2, c = 3), 6);
    assert_eq!(foo!(1, 2, 3), 6);
    assert_eq!(foo!(b = 3), 45);
}

相比0.1.0,示例多了第一行pub use的代码,是一个对生成的代码大小做出的妥协,就是需要在根目录中导入nade::core::*,除此之外,使用方式基本没变。

更详细的修改日志、文档和示例请看仓库。

nade

欢迎各位使用,有问题欢迎提 issue,如果觉得好用,欢迎 star。

评论区

写评论
作者 ZihanType 2023-03-22 11:03

谢谢!没有什么群,主要就是一个小库。如果有什么意见或者建议,可以在论坛提,也可以在 GitHub 提,我看到了都会及时回复。

--
👇
wdcodecn: star了 哈哈 向大佬学习 有群吗

wdcodecn 2023-03-22 10:11

star了 哈哈 向大佬学习 有群吗

1 共 2 条评论, 1 页