从初始值应用通道 N 次
Apply a Channel N times from an initial value
我有一个函数 f
和一个频道 c
def f(i: Int) = Task.now(i + 1)
val c = channel.lift(f)
我想连续应用函数 f
任意次数(或无限次)到先前计算的输出。我提供的是初始值。
我可以定义一个流程p
val p = Process.emit(1).through(c)
但这只会执行一次。
如何继续将 c
应用于上次计算的输出?
我可以使用 iterateEval[F[_], A](start: A)(f: A => F[A])
函数来做到这一点
val p = Process.iterateEval(1)(f).take(10)
我有一个函数 f
和一个频道 c
def f(i: Int) = Task.now(i + 1)
val c = channel.lift(f)
我想连续应用函数 f
任意次数(或无限次)到先前计算的输出。我提供的是初始值。
我可以定义一个流程p
val p = Process.emit(1).through(c)
但这只会执行一次。
如何继续将 c
应用于上次计算的输出?
我可以使用 iterateEval[F[_], A](start: A)(f: A => F[A])
函数来做到这一点
val p = Process.iterateEval(1)(f).take(10)