- 静态成员与实例成员
实例成员就是具体的x或者y,后面加上.
let y = x.
//引用.NET库的实例成员的例子,注意后面没写完,系统自动感知,弹出方法和属性,打开的是System命名空间。.NET库成员第一个字母全部大写
let y = String.
//引用F#库的静态成员的例子,注意后面没写完,系统自动感知,弹出方法和属性,打开的是Core.System模块。F#库员第一个字母全部小写
平常写的代码没有那么多讲究,所以看类或者方法是大写还是小写来区分属于哪个库。 - 将.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
-
集成环境
框架版本不同,使用方法也会有所不同,如果有一天,你想修改F#项目的.NET版本怎么办?右击项目属性,选择目标框架即可。
你想引用别的程序集怎么办?右击项目,找到引用,选择添加引用即可。
其余还有添加交互环境等操作,因为是出学,在这里不做赘述,用到是时候可以翻翻教材。 -
F#常用函数
对于一个给定的系统函数,调用需要注意:
-
函数所在命名空间,所在的.NET框架版本。
-
命名空间对应的库文件,库是F#库还是,NET库。
-
程序集文件是否被引用。
-
是静态成员还是实例成员。
-
是否使用open语句来简写。
函数其实有很多,不需要全部记住,需要的时候可以查手册。
- 下面这个问题可能粗心会犯
//val x1 : int = 0直接取整let x1 = 1/2 let x2 = float(1/2) let x3 = float(1)/float(2)
//val x2 : float = 0.0先取整得到0.之后把0变成浮点数
//val x3 : float = 0.5把1变成浮点数,把2变成浮点数,浮点数与浮点数相除,得到浮点数,得到0.5