List.map fsi说得好,但无法构建

时间:2010-02-26 09:01:15

标签: f# f#-interactive

为什么这段代码正在处理我的fsi,但无法构建项目?我正在使用vs2010和F#2.0 ......我缺少什么想法?

let arg = [@"C:\Temp\bin"; @"C:\temp\xml"]
arg|> List.map(fun (s) -> printfn "%s" s)           

得到错误告诉它正在期待int,怎么样?

Error 1 
Type mismatch. Expecting a string list -> int but given a string list -> 'a list  
The type 'int' does not match the type ''a list'    
C:\Users\Ebru\Documents\Visual Studio 2010\Projects\WinFind\WinFind\Program.fs

2 个答案:

答案 0 :(得分:7)

我猜你真的写了

[<EntryPoint>]
let Main(args) =
    let arg = [@"C:\Temp\bin"; @"C:\temp\xml"] 
    arg|> List.map(fun (s) -> printfn "%s" s)  

并且EntryPoint方法(例如Main())必须返回int。

答案 1 :(得分:0)

这个片段在我的机器上编译,但映射看起来很奇怪。我想你真的该怎么做:

let arg = [@"C:\Temp\bin"; @"C:\temp\xml"]
arg|> List.iter (fun s -> printfn "%s" s)

与:

相同
let arg = [@"C:\Temp\bin"; @"C:\temp\xml"]
arg|> List.iter (printfn "%s")

此致   forki