F#入門學習(六)

  1. 靜態成員與實例成員
    實例成員就是具體的x或者y,後面加上.
    let y = x.
    //引用.NET庫的實例成員的例子,注意後面沒寫完,系統自動感知,彈出方法和屬性,打開的是System命名空間。.NET庫成員第一個字母全部大寫
    let y = String.
    //引用F#庫的靜態成員的例子,注意後面沒寫完,系統自動感知,彈出方法和屬性,打開的是Core.System模塊。F#庫員第一個字母全部小寫
    平常寫的代碼沒有那麼多講究,所以看類或者方法是大寫還是小寫來區分屬於哪個庫。
  2. 將.NET庫封裝爲F#函數
    open System.IO  //打開命名空間,是.NET庫的
    let exists filePath = File.Exists(filePath)   
    (*前面是F#的規則,也就是定義一個函數,函數名字是exists,接收的參數是string類型的filePath(文件路徑),
    後面是.NET庫裏的方法,因爲前面已經打開了命名空間,所以裏面有個方法是 File(全稱是 System.IO. File),
    裏面有很多成員,有個叫Exists的,接收字符串,判斷存不存在這個文件,並返回bool類型。具體看下圖。*)
    //val exists : filePath:string -> bool
    

在這裏插入圖片描述
在這裏插入圖片描述

  1. 集成環境
    框架版本不同,使用方法也會有所不同,如果有一天,你想修改F#項目的.NET版本怎麼辦?右擊項目屬性,選擇目標框架即可。
    你想引用別的程序集怎麼辦?右擊項目,找到引用,選擇添加引用即可。
    其餘還有添加交互環境等操作,因爲是出學,在這裏不做贅述,用到是時候可以翻翻教材。

  2. F#常用函數
    對於一個給定的系統函數調用需要注意:

  • 函數所在命名空間,所在的.NET框架版本。

  • 命名空間對應的庫文件,庫是F#庫還是,NET庫。

  • 程序集文件是否被引用。

  • 是靜態成員還是實例成員。

  • 是否使用open語句來簡寫。

    函數其實有很多,不需要全部記住,需要的時候可以查手冊。

  1. 下面這個問題可能粗心會犯
    let x1 = 1/2
    let x2 = float(1/2)
    let x3 = float(1)/float(2)
    
    //val x1 : int = 0直接取整
    //val x2 : float = 0.0先取整得到0.之後把0變成浮點數
    //val x3 : float = 0.5把1變成浮點數,把2變成浮點數,浮點數與浮點數相除,得到浮點數,得到0.5
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章