F#创建一个预定义大小的空数组

Mar*_*ark 4 f# list empty-list

所以我试图创建一个表格行长度的空数组.我知道如何获得一行的长度,但我还没有弄清楚如何制作一个具有预定义长度的数组.我正在制作的程序是动态的,因此数组的长度将根据我正在访问的表而变化.

有谁知道怎么样?

Mat*_*nes 11

你说你想要一个数组,所以看一看Array.zeroCreate<'T>.

文档:

创建一个数组,其中条目最初是默认值Unchecked.defaultof <'T>.

例:

let arrayOfTenZeroes : int array = Array.zeroCreate 10
Run Code Online (Sandbox Code Playgroud)

这个页面有很多关于F#数组的有用信息 - 看看它,它应该指向正确的方向.

正如Panagiotis Kanavos在评论中指出的那样,F#与C#等语言的不同之处在于数组创建,因此为了清楚起见,我将直接引用我上面链接的F#语言参考文章:

几个函数创建数组而不需要现有数组. Array.empty创建一个不包含任何元素的新数组. Array.create创建一个指定大小的数组,并将所有元素设置为提供的值.Array.init给定一个维度和一个生成元素的函数,创建一个数组.Array.zeroCreate 创建一个数组,其中所有元素都初始化为数组类型的零值.

  • 这里的要点是,当其他语言使用C#的`new int [15]等语法时,F#使用单独的函数; (3认同)