Arrays F#访问数组ith元素函数错误

Arrays F#访问数组ith元素函数错误,arrays,f#,element,Arrays,F#,Element,我曾多次使用表达式anArray.[I]从数组中访问元素 但是当我尝试做一个非常简单的函数时,突然间我得到了一个错误 let safeIndexIf anArray i = anArray.[i] 我需要做一个函数,返回数组的第I个元素,所以我认为这是一个简单的函数,但没有 错误: 运算符“expr.[idx]”已根据此程序点之前的信息用于类型不确定的对象。考虑添加其他类型约束 为什么这不起作用?我不知道这个错误是什么意思。我所知道的是,我已经做了很多次类似的事情来访问anArray的元

我曾多次使用表达式
anArray.[I]
从数组中访问元素

但是当我尝试做一个非常简单的函数时,突然间我得到了一个错误

let safeIndexIf anArray i =
  anArray.[i] 
我需要做一个函数,返回数组的第I个元素,所以我认为这是一个简单的函数,但没有

错误:

运算符“expr.[idx]”已根据此程序点之前的信息用于类型不确定的对象。考虑添加其他类型约束


为什么这不起作用?我不知道这个错误是什么意思。我所知道的是,我已经做了很多次类似的事情来访问anArray的元素,为什么这次我不能呢?

这意味着编译器类型推断无法确定
anArray
确实是一个数组

错误消息建议您添加一个类型注释,您可以这样说
anArray
是一个通用数组:

let safeIndexIf (anArray : array<'a>) i =
    anArray.[i]

这意味着编译器类型推断无法确定
anArray
确实是一个数组

错误消息建议您添加一个类型注释,您可以这样说
anArray
是一个通用数组:

let safeIndexIf (anArray : array<'a>) i =
    anArray.[i]

非常感谢你。这让我非常感谢你。这是有道理的