Using monix私はObservable [Node]を構築し、幅広い最初のアルゴリズムを使ってグラフをたどろうとしています。 しかし、そこに私は再帰問題のビットがあります。ここに私の問題を示すスニペットがあります:monixの観測可能な再帰をどのように処理するのですか?
package gp
import monix.eval.Task
import monix.execution.Scheduler.Implicits.global
import monix.reactive._
object HelloObservable {
type Node = Int
//real case fetch next node across the network so the signature
//has to be Node -> List[Task[Node]]
def nexts(i : Node) : List[Task[Node]] =
List(Task(i), Task(i+1))
def go(i :Node) : Task[Iterator[List[Node]]] =
Task.sequence(nexts(i).sliding(100,100).map(Task.gatherUnordered))
def explore(r: Node): Observable[Node] = {
val firsts = for {
ilr <- Observable.fromTask(go(r))
lr <- Observable.fromIterator(ilr)
r <- Observable.fromIterable(lr)
} yield r
firsts ++ firsts.flatMap(explore)
}
def main(args : Array[String]) : Unit = {
val obs = explore(0)
val cancelable = obs
.dump("O")
.subscribe()
scala.io.StdIn.readLine()
}
}
最初の反復後の観測可能な停止。誰も私をなぜヒントできますか?
ありがとうございました!私は少し愚かな感じXD しかし、私の問題は本当に私が尋ねた質問に関連していなかったので、適切なStackOverflowエチケットは何ですか?私の質問を削除すべきですか? – lorilan
@lorilan、私は公式のSOのエチケットのようなものがまったく存在しているのかどうかはわかりません:-)おそらくこのトピックの中で最も近いものは[this]です(https://stackoverflow.com/help/privileges/moderator-tools)。 )。この質問を削除すると、おそらく私の評判が失われることになるので、私はそれに反対して自分勝手な動機を持っています。それでも、私はこの質問を削除することは良い考えだとは思わない。あなたは良い答え(すなわち、純粋な情報ノイズ)のない、回復不能な悪い質問だけを削除するべきです。ただし、将来の発見性を向上させる方法について考えることができれば、あなたの投稿を編集することができます。 – SergGr