0

有没有办法将一些额外的参数传递给提供给 Scala 的 List.foldRight 的函数?

一些示例代码:

def createActorPool[T](implicit actor: Manifest[T], poolSize: Int): List[Supervise] = {
  (1 to poolSize).foldRight(List[Supervise]()) {
    (idx, list) => { Supervise(actorOf[actor], Permanent) :: list }
  }
}

我感兴趣的对象是actor,但是在用于构造 Supervise 时是不可见的。

PS:我对 Scala 很陌生,所以如果这是一个常见问题,请接受我的道歉(尽管广泛的谷歌搜索没有任何适用的命中)。

4

2 回答 2

3

我真的不明白你的问题。传递给 foldRight 的函数可以自由引用和使用范围内的任何其他内容。这还不够吗?

于 2010-12-04T17:35:15.460 回答
2

在 Scala 中,字符[]仅用于类型。在您提供的代码示例中,actor是一个对象,而不是一个类型。也许这会起作用:

def createActorPool[T](implicit actor: Manifest[T], poolSize: Int): List[Supervise] = {
  (1 to poolSize).foldRight(List[Supervise]()) {
    (idx, list) => { Supervise(actorOf[T], Permanent) :: list }
  }
}
于 2010-12-04T17:46:31.370 回答