如何根据给定的记录类型在F#中创建和初始化数组?假设我想创建一个包含100条记录1的数组.
例如
type record1 = {
value1:string;
value2:string
}
let myArray = Array.init 100 ?
但似乎Array.init不允许这样做,有没有办法做到这一点?
编辑添加:
当然我可以这样做:
let myArray = [|for i in 0..99 -> { value1="x"; value2="y" }|]
Sta*_* R. 11
这应该做你需要的.希望能帮助到你.
type record1 = {
value1:string;
value2:string
}
let myArray = Array.init 100 (fun x -> {value1 = "x"; value2 = "y"})
Run Code Online (Sandbox Code Playgroud)
或使用泛型
let myArray = Array.init<record1> 100 (fun x -> {value1 = "x"; value2 = "y"})
Run Code Online (Sandbox Code Playgroud)
CMS*_*CMS 11
您也可以使用Array.create,它创建一个给定大小的数组,并将其所有元素初始化为定义的值:
let myArray = Array.create 100 {value1="x"; value2="y"}
Run Code Online (Sandbox Code Playgroud)
看一下这个数组操作列表 .