首页 > 解决方案 > Chapel 中的回调函数

问题描述

我有以下教堂代码。

proc update(x: int(32)) {
  return 2*x;
}

proc dynamics(x: int(32)) {
  return update(x);
}

writeln(dynamics(7));

我想向 发送某种回调dynamics,例如

proc update(x: int(32)) {
  return 2*x;
}

proc dynamics(x: int(32), f: ?) {
  return f(x);
}

writeln(dynamics(7, update));

这可能吗?有没有我可以浏览的例子?

标签: hpcchapel

解决方案


礼拜堂具有一流的功能。它们正在进行中,同时已成功使用(细节正在逃避我)。

如果您删除:?或将函数的类型指定为,则您的示例有效func(int(32), int(32))

proc dynamics(x: int(32), f) // or proc dynamics(x: int(32), f: func(int(32), int(32)))


推荐阅读