在F#,我想打一个类型索引数组,所以我可以通过访问该元素.[i]或.[index_names]通过与指数切片标志..是否有可能改写.[]这个样子?谢谢.
des*_*sco 11
在您的类型中定义重载的索引器:
type MyIndexedArray<'T>() =
member this.Item(i : int) : 'T = Unchecked.defaultof<_>
member this.Item(name : string) : 'T = Unchecked.defaultof<_>
member this.GetSlice(a : int option, b : int option) : 'T = Unchecked.defaultof<_>
let arr = new MyIndexedArray<int>()
let a = arr.[1]
let b = arr.["name"]
let c = arr.[1..2]
let d = arr.[1..]
let e = arr.[..3]
let f = arr.[*]
Run Code Online (Sandbox Code Playgroud)