我发现了关于元组展开的这个讨论,但是它是2014年的内容。
给出的示例是:
给出的示例是:
fn sum(x: i32, y: i32) -> i32 {
x + y
}
fn prepare_args () -> (i32, i32) {
(1, 2)
}
fn main() {
sum(prepare_args()); // Doesn't work
}
提出的解决方案是自己编写apply
函数:
fn apply<A,B,C>(f: |A,B|->C, t: (A,B)) -> C {
let (a,b) = t;
f(a,b)
}
fn main() {
apply(sum, prepare_args());
}
这是目前最好的方法吗?如果是,正确的语法是什么?使用上述内容会出现一些错误,包括expected type, found
|at line 1 col 20
。
还没有元组展开运算符吗?