-2
根據wikipedia Corecursion - 綜合工作,從基礎案例開始並構建起來,迭代地生成進一步從基礎案例中刪除的數據。Corecursion瞭解
功能組合器是否做共同遞歸? 像
list.map(...).filter(..)
使用Scala任何corecursion的例子嗎?
BR!
根據wikipedia Corecursion - 綜合工作,從基礎案例開始並構建起來,迭代地生成進一步從基礎案例中刪除的數據。Corecursion瞭解
功能組合器是否做共同遞歸? 像
list.map(...).filter(..)
使用Scala任何corecursion的例子嗎?
BR!
維基百科頁面列出了階乘因子和斐波那契數列作爲corecursion的例子,兩者都可以實現爲無限的Stream()
。
// factorial
val facs: Stream[Int] = 1 #:: facs.zipWithIndex.map(x=>x._1 * (x._2+1))
// fibonacci
val fibs: Stream[Int] = 0 #:: fibs.scan(1)(_+_)
這似乎是你昨天問的問題 –
[Corecursion VS斯卡拉遞歸理解(可能重複http://stackoverflow.com/questions/32479852/corecursion-vs-recursion-understanding的副本-in-斯卡拉) –