在 F# class 中创建 Queue<T> 数组

Creating an array of Queue<T> in an F# class

如何创建 Queue<float> 的数组并在 F# 中对其进行初始化?

我正在尝试这样的事情,但它是一个奇怪的 C# 小(除了编译器无法解析 Queue 构造函数的重载这一事实)。

type MyQueues(size) = 
    let queues = Queue<float>(capacity:size) array
    do
        // Initialize queues somehow.
let queues = Array.init arraysize (fun index -> (* initialize queue here *) )

let queues = [| for i in 1 .. arraysize -> (* initialize queue here *) |]

在大多数情况下,F# 编译器会根据提供的初始化函数推断数组的类型。 arraysize 这里是数组的容量,而不是您在初始化函数中提供的队列大小。

let queues = Array.init arraysize (fun index -> new Queue<float>(queuecapacity) )