我在http://www.tryfsharp.org的互动窗口中收到此错误。它在视觉工作室工作正常,我不知道如何解决它。任何帮助将不胜感激
let randomNumberGenerator count =
let rnd = System.Random()
List.init count (fun numList -> rnd.Next(0, 100))
let rec sortFunction = function
| [] -> []
| l -> let minNum = List.min l in
let rest = List.filter (fun i -> i <> minNum) l in
let sortedList = sortFunction rest in
minNum :: sortedList
let List = randomNumberGenerator 10
let sortList = sortFunction List
printfn "Randomly Generated numbers in a NON-SORTED LIST\n"
printfn "%A" List
printfn "\nSORTED LIST \n"
printfn "%A \n" sortList
错误FS0039:未定义字段,构造函数或成员
'init'
感谢您的帮助
答案 0 :(得分:5)
只有在运行第二次的代码时才应该收到错误,并且它在TryF#控制台和Visual Studio本地都有相同的行为。
问题在于您声明了一个名为List
的值:
let List = randomNumberGenerator 10
隐藏标准模块List
。声明值List.init
后,尝试访问此List
值的成员而不是访问标准List
模块中的函数。
命名约定是有充分理由的,例如对局部变量名使用小写: - )