簡體   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