小编Jon*_*dad的帖子

生成具有由宏确定的参数的函数的宏

是否有可能编写一个生成函数的宏,其中该函数的参数个数由宏决定?例如,我想写一些东西,以便更容易地使用Cassandra驱动程序中的预准备语句.

let prepared = prepare!(session, "insert into blah (id, name, reading ) values (?, ?, ?)", int, string, float);
let stmt = prepared(1, "test".to_string(), 3.1);
session.execute(stmt);
Run Code Online (Sandbox Code Playgroud)

prepare! 需要生成类似的东西(仅为简洁起见):

fn some_func(arg1, arg2, arg3) -> Statement {
    let mut statement = Statement::new("insert into blah (id, name, reading ) values (?, ?, ?)", 3);
    statement.bind_int(0, arg1).unwrap()
        .bind_string(1, arg2).unwrap()
        .bind_float(2, arg3).unwrap()
}
Run Code Online (Sandbox Code Playgroud)

macros rust

3
推荐指数
1
解决办法
668
查看次数

标签 统计

macros ×1

rust ×1