繁体   English   中英

如何重复haskell中的函数列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM