2010-02-26 3 views
4

Почему этот фрагмент кода работает на моем fsi, но не может построить проект? Я использую vs2010 и F # 2.0 ... Любые идеи, которые я чего-то не хватает?List.map fsi говорит нормально, но не может построить

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

ответ

7

Я предполагаю, что вы на самом деле написал

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

и метод EntryPoint (например, Main()) должны возвращать значение int.

+0

Вы звезда! Спасибо Брайан ... – demokritos

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

Смежные вопросы