如何从1 .... n生成自然数列表?

时间:2019-04-15 08:37:39

标签: list function haskell functional-programming

我目前正在尝试在函数内部生成列表。用户将传入一个参数,即Int。该函数的工作是生成一个列表,从1开始,一直到n。所以列表看起来像

[1....n]

到目前为止,我所做的是:

iterate (+1) 1

尽管这提供了正确的模式,但它会永远持续下去。我将如何在n停留?另外,如何将'1'附加在列表的末尾,如下所示:

[1...n,1]

1 个答案:

答案 0 :(得分:10)

从字面上讲,它很简单:

f :: Int -> [Int]
f n = [1..n] ++ [1]