F#入门学习(二)

  1. let绑定常量
    let x=32
    x
    let x1 = 32.0
    
    let说32你是x的,32.0你是x1的。
    val x : int = 32
    val x1 : float = 32.0
  2. let绑定函数
    let add x y = x+y
    let x1 = add 8 9
    
    add是一个名字,他是传给我俩值,我用来加
    x1的值就是 add 干活的结果。
    val add : x:int -> y:int -> int//你看,int +int = int就是这意思
    val x1 : int = 17
  3. let主动告诉别人是什么类型,用:实现
    let x:int=32
    let x1:float =32.0
    
    结果:
    val x : int = 32
    val x1 : float = 32.0
  4. 求余数,且返回浮点型 函数
    let fn(x:int)(y:int):float=float((x+y)%3)
    fn 5 8
    
    fn绑定一个 x y 的运算结果,结果为float类型
    val fn : x:int -> y:int -> float
    val it : float = 1.0
  5. 空格表示隶属关系,就是作用范围
    let add x=
        let y=6
        x+y
    let x1 =y//此处y标红,因为上面缩进了,y是局部的,不是全局的
    
    结果:
    val add : x:int -> int
    Program.fs(4,9): error FS0039: 未定义值或构造函数“y”
  6. 把函数体专门缩进到下面
    第五点代码的存在完全将就是为了验证y的有效区域,函数体实在是不好看,这个才是真正缩进的用处。
    let add x y=
    	   x+y
    let x1 = add 8 9
    
    val add : x:int -> y:int -> int
    val x1 : int = 17
  7. 能不能不缩进但是又能表达两句语句呢?
    可以,用;接着写,这两种方式分别有个专有名词,一个叫 轻量级语法,一个叫详细语法定义,不叫重量级语法哦。
    let x1 = 
        printfn"该语句缩进,轻量级哟"  //这句话的返回类型是没有定义的,就是所谓的unit
        5                            //此行返回类型是int类型
    
    结果:
    该语句缩进,轻量级哟
    val x1 : int = 5
    let x2 = printfn"该语句不缩进,用;了哟";5
    
    结果:
    该语句不缩进,用;了哟
    val x2 : int = 5
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章