我有一个函数可以在某个位置返回char
:
let NthChar inpStr indxNum =
if inpStr.Length >=1 then printfn "Character %s" inpStr.[indxNum];
else printfn "Not enough arguments"
错误
inpStr.Length
和
inpStr.[indxNum]
错误跟踪:
根据此程序点之前的信息查找不确定类型的对象。在此程序点之前可能需要类型注释来约束对象的类型。这可能允许解析查找。
答案 0 :(得分:3)
你正试图进入"一些东西并访问它的索引器。除此之外,当你这样做时,那种东西的类型仍然是未知的(也许它没有索引器)
所以你得到了相当明确的错误信息,它也为你提供了删除它的方法,只需添加一个类型注释:
// code shortened
let nthChar (inpStr : string) indxNum = inpStr.[indxNum]
// alternative syntax
let nthChar inpStr indxNum = (inpStr : string).[indxNum]