11
A
回答
29
3
當然peoro是對的,你應該使用replicate
。
然而,對於這樣的任務很常見的模式是從它(使用take
或takeWhile
)來構造一個無限列表,並採取你需要儘可能多的:
rep a b = take b $ repeat a
另一個(超過實際教育)的方法是使用正確長度的列表,所有元素的地圖:
rep a b = map (const a) [1..b]
一種非常低效的,但有趣的版本是
rep a b = until ((b==).length) (a:) []
6
您也可以使用遞歸(雖然上述方案中應首選當然):
rep a 0 = []
rep a b = a : rep a (b-1)
2
..或者乾脆類似的東西
> take 3 [4,4..]
> [4,4,4]
相關問題
- 1. 避免Haskell中的重複項目
- 2. Haskell:遞歸重複函數
- 3. 顯示在Haskell重複的單詞
- 4. Haskell重複使用fromIntegral時添加
- 5. 與Haskell Conduit重複使用sinkFile
- 6. Haskell LLVM - 創建重複函數
- 7. 用Haskell中的RecursiveDo生成的重複EDSL代碼
- 8. 如何對付列表中的重複的元素在Haskell
- 9. wikibooks中的Haskell狀態示例:修復每個當前Haskell?
- 10. 如何在Haskell中重複函數列表
- 11. 從RLE模式中刪除代碼重複,而不使用Haskell?
- 12. 欺騙「重複使用」參數在Haskell中?
- 13. Haskell複用模式
- 14. Haskell函數測試一個列表是否重複(重複)元素
- 15. Haskell中的複製函數代碼
- 16. 重命名Haskell中的文件列表
- 17. 如何重置Haskell中的stdin?
- 18. Haskell中的Utf8和重載字符串
- 19. Haskell重構建議
- 20. Haskell函數重載
- 21. 過濾來自[[String]]的重複元素Haskell
- 22. Haskell在某個位置的重複元素
- 23. 如何重複字符串,並利用它的部分在Haskell
- 24. Haskell中:FIFO隊列算法複雜
- 25. 如何拆分字符串列表以查找Haskell中的所有重複項?
- 26. 重複列表中的重複項
- 27. Haskell複雜函數組合
- 28. 通過計數重複元素來壓縮(Haskell)
- 29. 將Haskell代碼轉換爲標準ML(與重複組合)
- 30. Haskell:類和函數重載:
Hoogle一如既往是你的朋友:狀態您想要找到的函數:'Integral b => a - > b - > [a]',它會告訴您答案:http://www.haskell.org/hoogle/?hoogle=Integral+ b +%3D%3E + a + - %3E + b + - %3E + [a] – stusmith 2011-04-11 10:39:36