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!