我想将自己的索引器添加到通用数组类型:
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/