-5
3::[4;5;2;7];;
List.length [4;5;2;7];;
[4;5;2;7]::3;;

这给出了错误 This expression was expected to have type int list list but here has type int

我知道它可以通过这样做来解决:[4;5;2;7];; List.append it [3];;但是还有其他方法吗?

4

1 回答 1

0

这是一个非常糟糕的问题。但是,代码中的最后一行将失败

此表达式应为 int list list 类型,但此处为 int 类型

.. 因为 :: 将一个元素连接到一个列表。它只能从前面做,因为列表是一个单链表。如果您想在列表末尾添加一个元素,您可能使用了错误的数据结构。如果你真的想在列表末尾添加一个元素,你可以这样做

[4;5;2;7] @ [3];;

请注意,这将非常低效。

于 2012-11-20T13:18:43.993 回答