【发布时间】:2017-02-16 03:15:26
【问题描述】:
这里是 F# 的新手,需要一些帮助。所以问题说要写一个函数
downTo : int -> int list
这样 downTo n 返回 n 元素列表 [n; n-1; ...;1] 使用 if-then-else 然后进行模式匹配。
这就是我尝试的 if-then-else 部分
let rec downTo n : int -> int list =
let list = []
if n > 1 then
n :: list
downTo (n - 1)
else
list
所以我在 n :: list 处收到一条警告,上面写着“此表达式应具有 'unit' 类型,但具有 'int list' 类型。使用 ignore 丢弃结果等。
最后一行有一个错误'这个表达式应该是 int -> int list 但这里的类型是'a list'
我需要一些指导。第一个问题,在函数的声明中,它应该是这样的吗,使用 n : int -> int list?我是否应该删除 n 以使其显示为
downTo : int -> int list
喜欢问题陈述? 几天来我一直在尝试研究,但在任何地方都没有看到这样的声明。我很困惑。提前感谢您的帮助。
【问题讨论】: