F#交互式窗口问题

时间:2011-06-02 04:47:45

标签: 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
  

错误FS0039:未定义字段,构造函数或成员'init'

感谢您的帮助

1 个答案:

答案 0 :(得分:5)

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

问题在于您声明了一个名为List的值:

let List = randomNumberGenerator 10

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

命名约定是有充分理由的,例如对局部变量名使用小写: - )