この投稿のおかげで、私は依存メソッドの型について頭を悩ませています。私は次のような構造を持っています
trait Environment{
type Population <: PopulationBase
protected trait PopulationBase
def evolveUs(population: Population): Population
}
object FactoredOut{
def evolvePopulation(env: Environment)(prevPopulation: env.Population): env.Population = {
env.evolveUs(prevPopulation)
}
}
ここで、アクターを使用してパーツの作業をクラスター全体に分散させたいと考えてFactoredOut
います。これを行うには、. を運ぶ不変メッセージを渡す方法が必要Environment
です。
明らかに、以下は機能しませんが、私がやろうとしていることを示しています
object Messages{
case class EvolvePopulation(env: Environment)(prevPopulation: env.Population)
}
人口を通過させる正しい方法は何ですか?周囲の環境を囲んでいますか?
(dependent-method-types タグを追加する必要がありましたが、「新しい」タグを追加するのに十分なポイントがありません)