【发布时间】:2011-02-20 04:55:02
【问题描述】:
我刚开始使用 VS2010 学习 F#,下面是我第一次尝试生成斐波那契数列。我要做的是建立一个所有小于 400 的数字的列表。
let fabList =
let l = [1;2;]
let mutable a = 1
let mutable b = 2
while l.Tail < 400 do
let c = a + b
l.Add(c)
let a = b
let b = c
我的第一个问题是,在最后一条语句中,我在最后一行收到错误消息“在表达式中的此点或之前的结构构造不完整”。我不明白我在这里做错了什么。
虽然这似乎是一种以相当有效的方式(来自 c++/C# 程序员)构建列表的明显方式,但根据我对 f# 的了解,这似乎不是正确的方式做节目。我的这种感觉对吗?
【问题讨论】:
-
是的,你做错了。您正在使用一种函数式编程语言,例如程序语言。首先尝试不使用
while或任何类似的循环结构。
标签: f# fibonacci tail-recursion