[英]How to repeat a list of functions in haskell
我希望有一个循环通过某种模式的无限函数列表。 例如: [(+), (-), (+), (-), ...]
如果我做的事情
fmap repeat [(+), (-)]
然后我得到嵌套列表[[a -> a -> a]]
。 在这样的模式之后获得单个无限函数列表的最佳方法是什么?
你要找的是cycle :: [a] -> [a]
:
cycle [(+),(-)]
这个表达式的类型是:
Prelude> :t cycle [(+),(-)]
cycle [(+),(-)] :: Num a => [a -> a -> a]
cycle
获取一个列表[a]
并生成一个列表,其中给定列表一遍又一遍地重复。 所以cycle [1,2,3]
产生[1,2,3,1,2,3,1,2,3,1,...]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.