在 Yet Another Haskell Tutorial 中的一个例子中,演示了如何生成一个斐波那契数列。在本示例中,我们将改写该示例并提供示例代码。
原文示例:
fib = 1 : 1 : [a + b | (a, b) <- zip fib (tail fib)]
改写后的示例:
斐波那契数列 = 1 : 1 : [a + b | (a, b) <- zip 斐波那契数列 (tail 斐波那契数列)]
这行代码定义了一个无限列表,并使用了zip和tail函数来对'斐波那契数列”中的值进行相加。这段代码可以使用take函数来获取列表中的任意数量的值。例如,以下代码将返回斐波那契数列中的前十个值。
take 10 斐波那契数列
输出:
[1,1,2,3,5,8,13,21,34,55]