Wie definiere ich eine Typerweiterung für T [] in F #?

In C # kann ich eine Erweiterungsmethode für ein generisches Array vom Typ T wie folgt definieren:

public static T GetOrDefault<T>(this T[] arr, int n)
{
    if (arr.Length > n)
    {
        return arr[n];
    }

    return default(T);
}

aber für das Leben von mir kann ich nicht herausfinden, wie ich dasselbe in F # mache! Ich habe es versuchttype 'a array with, type array<'a> with undtype 'a[] with und der Compiler war mit keinem von ihnen zufrieden.

Kann mir jemand sagen, was das Recht ist, dies in F # zu tun?

Sicher, ich kann dies tun, indem ich das Array-Modul überschatte und eine Funktion dafür leicht genug hinzufüge, aber ich möchte wirklich wissen, wie man es als Erweiterungsmethode macht!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage