我想将自己的索引器添加到通用数组类型:

type 'T``[]`` with
    member this.Item(x: string) = 1  // test

但是,这会产生一个编译错误“表达式应具有int类型,但此处具有字符串类型(FS0001)。”
let a = [|1|]
let b = a.["aa"]      // error: FS0001
let c = a.Item("aa")  // this works.

我发现了3年前问过的question,答案表明这是FSharp错误。是否想确认是否仍然存在,或者此后是否对规范进行了更新?

最佳答案

我得到了Don Syme here回答的问题:

因此Fsharp不支持它。

关于f# - 我可以扩展内置数组的索引器吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23258647/

10-10 23:17