关于VS2010中F#的使用说明及勘误
目前,看到許多介紹F#的介紹,基本上就是互相“借鑒”來的,不過其中很多是基于Framework 3.0或3.5的,在Framework 4.0中F#有一些改變
下面就我的學習中,有以下幾點說明
1.在VS2010中,Ctrl+Alt+F打開fsi(F# Interactive)
2.選中要執行的代碼后,按下Alt+Enter在fsi中運行
3.Framework 4.0中沒有print_any,print_newline,print_string等函數,應用printfn "%A",printf "\n",printfn "%s"等替換
4.定義Seq時應用let squares=seq { for x in 1..10 -> x * x},而不能用let squares={ for x in 1..10 -> x * x}
5.在F#入門一書中的
let evens n=seq { for x in 1..n?when?x % 2=0-> x}
在4.0無法編譯通過,可改為:
let evens1 n=seq { for x in 1..n do if (x %?2 =0) then yield x}
6.#light 表示輕量語法(等同于#light "on")
可用于 F# 語言中的多種構造的語法有兩種形式:“詳細語法”和“輕量語法”。詳細語法并不常用,但它的優勢是對縮進的敏感程度較低。輕量語法比較簡短,并使用縮進來表示構造的開頭和結尾,而不是使用諸如 begin、 end、 in 等附加關鍵字。 默認語法為輕量語法。本主題介紹在未啟用輕量語法時 F# 構造的語法。詳細語法始終處于啟用狀態,因此,即使您啟用輕量語法,也仍然可以為某些構造使用詳細語法。可通過使用 #light "off" 指令禁用輕量語法。
7.Array2應改為Array2D,Array3應改為Array3D
8.列表只有IsEmpty屬性,判斷是否為空,沒有noeempty,如果要判斷列表非空,可用Length屬性
如將while (List.nonempty !mat) do改為 while ((List.length !mat)>0) do
總結
以上是生活随笔為你收集整理的关于VS2010中F#的使用说明及勘误的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 查看域名真实IP地址NSlookup命令
- 下一篇: iphone 如何设置在uiImageV