В C #я могу определить метод расширения для универсального массива типа T следующим образом:
public static T GetOrDefault<T>(this T[] arr, int n)
{
if (arr.Length > n)
{
return arr[n];
}
return default(T);
}
но убей меня, я не могу понять, как сделать то же самое в F #! Я пробовал type 'a array with
, type array<'a> with
и type 'a[] with
, и компилятор не был доволен ни одним из них.
Может ли кто-нибудь сказать мне, какое право делать это в F #?
Конечно, я могу сделать это, перекрыв модуль Array и достаточно легко добавив для этого функцию, но я действительно хочу знать, как это сделать в качестве метода расширения!