开发者

F# interactive window problem

i am getting this error in the interactive window on http://www.tryfsharp.org. It works fine in visual studio and im not sure how to tackle it.Any help would be appreciated

let randomNumberGenerator count =
    let rnd = System.Random()
    List.i开发者_JAVA百科nit 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

error FS0039: The field, constructor or member 'init' is not defined

Aprreciate your help


You should be getting the error only when you run the code for the second time and it shoul behave the same in the TryF# console as well as locally in Visual Studio.

The problem is that you're declaring a value named List:

let List = randomNumberGenerator 10

which hides the standard module List. After you declare the value List.init tries to access a member of this List value instead of accessing a function in the standard List module.

There is a good reason for naming conventions, such as using lowercase for local variable names :-)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜