【发布时间】:2013-11-07 20:32:08
【问题描述】:
我正在寻找一种类似于“foldWhile”的 haskell 函数或模式,但它使用函数输出而不是折叠列表。一些代码可能会更好地解释它。
简化和伪:
nums :: [Integer]
nums = [1]
cond :: v -> [Integer] -> Bool
cond v ls = elem v ls
func :: x -> ls -> [Integer]
func x ls = x `some_op` ls
而且我需要一种应用模式,例如:
(cond 1 num) && func x num -> num'
(cond 1 num') && func x num' -> num''
(cond 1 num'') && func x num'' -> num'''
...
一旦 cond 返回 False,产生最后一个 num。
任何帮助将不胜感激,在此先感谢。
【问题讨论】:
标签: algorithm haskell functional-programming