F#交互式窗口问题

Amp*_*231 0 f# f#-interactive

我在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
Run Code Online (Sandbox Code Playgroud)

错误FS0039:该字段,构造或元件'init'没有被定义

谢谢你的帮助

Tom*_*cek 5

只有在第二次运行代码时才应该收到错误,并且它在TryF#控制台和Visual Studio本地中的行为相同.

问题是你声明了一个名为的值List:

let List = randomNumberGenerator 10
Run Code Online (Sandbox Code Playgroud)

它隐藏了标准模块List.声明值后,List.init尝试访问此List值的成员而不是访问标准List模块中的函数.

命名约定有一个很好的理由,例如对本地变量名使用小写:-)