【发布时间】:2015-01-20 17:21:13
【问题描述】:
鉴于以下 rust 程序:
fn call_twice<A>(val: A, f: fn(A) -> A) -> A {
f(f(val))
}
fn main() {
fn double(x: int) -> int {x + x};
println!("Res is {}", call_twice(10i, double));
// println!("Res is {}", call_twice(10i, (x: int) -> int {x + x}));
// ^ this line will fail
}
为什么我可以将double 作为函数传递,但不能内联?什么是实现相同行为而不在某处定义函数的好方法?
【问题讨论】:
标签: function parameter-passing rust