在Visual Studio 2008中編譯F#程式

來源:互聯網
上載者:User

在Visual Studio 2008中,編譯F#程式時,會出現警告(但不是錯誤),但是由於這個警告卻使你的程式無法運行,不過大多資料這些警告都會有提示,提示你用.NET裡的函數代替F#中的某些函數,但是這些.NET中的函數又不能像在C#中那樣使用.

例如:

#light

let one = ["one "]
let two = "two " :: one
let three = "three " :: two
let rightWayRound = List.rev three
let printList l =
List.iter print_string l
print_newline()
let main() =
printList one
printList two
printList three
printList rightWayRound
main()

上面的程式在Visual Studio 2008編譯時間,會出現警告,提示List.iter print_string l一行中print_string要用Console.Write()代替,但是如果直接把print_string直接用Console.Write()或Console.Write也還是不行.

那麼到底如果使用Console.Write()代替print_string在Viusal Studio 2008中通過編譯呢,

注意Console.Wirite有多個重載版本,重載時要指明版本,這要用到匿名函數並對參數進行註解

所以上面的List.iter print_string l

可改寫為List.iter (fun (x:string) -> Console.Write(x)) l

這樣就可以通過編譯了.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.