你怎么能在F#中成长

时间:2014-06-27 17:43:32

标签: f#

f#中是否有一个具有“append”方法的集合类型,这样我就可以向该集合中添加一个元素:

(伪代码)

let list = [1,2,3,4]
list.append( 5 )
print list

结果:1​​,2,3,4,5

基本上我需要一个可以在运行时增长的集合,我不能假设它的大小。 我找不到用f#

中的列表或数组做这个的方法

更新:我不想每次多次发生新的列表/数组。我想附加已经存在的集合。我需要为集合使用相同的名称/符号。 F#不允许我重新声明或重写一个集合,所以这不起作用:

let A = [1,2,3]
let A = A.append 4  or A <- Array.appen A 4

2 个答案:

答案 0 :(得分:5)

您可以使用ResizeArray

let list = ResizeArray([1;2;3;4])
list.Add( 5 )

答案 1 :(得分:0)

在我看来,你想要实现的功能与功能方法没什么关系。我不会犹豫是否使用标准.NET列表。

关于您的更新: 由于列表是不可变的,因此并不是每次将元素添加到列表时都会创建新列表。这比复制整个现有列表要聪明得多。