如何将带有2个参数的函数作为参数传递给函数?

时间:2015-11-26 19:18:29

标签: rust

我有以下内容:

df["badloan"] = df.loan_status
df["badloan"] == df.loan_status

但我收到了错误:

fn apply_bin(&mut self, op: Fn(i32,i32)) -> Result<i32, String> {

}

为什么会这样,我该如何解决?

1 个答案:

答案 0 :(得分:6)

您可以使用通用方法,因为Fn是一个特征:

fn apply_bin<F>(&mut self, op: F) -> Result<i32, String>
    where F: Fn(i32, i32)
{
}

(这是静态派遣)

您还可以使用动态调度:

fn apply_bin(&mut self, op: &Fn(i32, i32)) -> Result<i32, String>
{
}

book中有更多信息。