在这个问题之后我想知道如何(或者如果)我可以扩展通用F#数组类型.我能做到这一点:
type System.Array with
member a.Last = a.GetValue(a.Length - 1)
Run Code Online (Sandbox Code Playgroud)
但正如托马斯所说,它是非通用的.接下来我尝试了这个,但它不起作用:
type Microsoft.FSharp.Collections.Array with // Error: Array is not defined
member a.Last = a.[a.Length - 1]
Run Code Online (Sandbox Code Playgroud)
在F#scource中我找到了这个命名空间,但它也不起作用:
type Microsoft.FSharp.Primitives.Basics.Array with // Error: Array is not defined
member a.Last = a.[a.Length - 1]
Run Code Online (Sandbox Code Playgroud) 在F#中,为什么我不能在这里访问Array上的"Item"成员:
let last (arr:System.Array) =
let leng = arr.Length
arr.[leng-1] // Error: Field, constructor or member "Item" is not defined.
Run Code Online (Sandbox Code Playgroud)