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にかなり慣れていないので、これがFAQである場合は、謝罪を受け入れてください(該当するヒットがない大規模なグーグルにもかかわらず)。

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 に答える