已关闭。此问题需要details or clarity。目前不接受回答。
**要改进此问题吗?**通过editing this post添加详细信息并阐明问题。
4年前关闭。
Improve this question的
所以我想写一个程序来测试1 -无穷大,基本上我想用take来告诉程序,给予我一个take要求的数量的列表,所以澄清一下,如果我输入take 5,我想得到[1,2,3,4,5]。
- 为了进一步澄清,我试图理解如何递归地调用一个程序,一遍又一遍的次数采取说。我试图写一个程序,将给予我的下一个x偶数从1开始的列表,其中x =采取说的数字。
1条答案
按热度按时间ddarikpa1#
First Off
看看Learn You a Haskell。
分析问题
这是相当简单的,你需要一个函数
evens :: Int -> [Int]
最基本的解决方案
Haskell有一个列表构造函数,它以最基本的形式给你一个连续数字的列表:
[1..10]
会给你从1到10的所有数字。因为Haskell是一种懒惰的语言,你不需要给它一个上限。也就是说,[1..]
只会返回一个包含所有数字的列表。你也可以用一个间隔来运行它,比如说2代表偶数:
[2,4..10]
会给你给予2到10的偶数。所以你需要的函数确实是:字符串
这也相当于
型
递归
递归地,你可以运行你的函数。每一步你只需要乘以2。
型