前言 面向对象的思想已经非常成熟,而使用C#的程序员对面向对象也是非常熟悉,所以我就不对面向对象进行介绍了,在这篇文章中将只会介绍面向对象在F#中的使用. F#是支持面向对象的函数式编程语言,所以你用C#能做的,用F#也可以做,而且通常代码还会更为简洁.我们先看下面这个用C#定义的类,然后用F#来定义. //定义一个二维点 [DebuggerDisplay("({X}, {Y})")] public class Point2D { // 用于统计已实例化的数量 private stat
函数式编程其实就是按照数学上的函数运算思想来实现计算机上的运算.虽然我们不需要深入了解数学函数的知识,但应该清楚函数式编程的基础是来自于数学. 例如数学函数\(f(x) = x^2+x\),并没有指定返回值的类型,在数学函数中并不需要关心数值类型和返回值.F#代码为let f x = x ** 2.0 + x,F#代码和数学函数非常类似,其实这就是函数式编程的思想:只考虑用什么进行计算以及计算的结果(或者叫"输入和输出"),并不考虑怎样计算. 其实,你可以把任何程序看成是一系列函数,输