前言 面向对象三大基本特性:封装.继承.多态.上一篇中介绍了类的定义,下面就了解下F#中继承和多态的使用吧.…
前言 面向对象的思想已经非常成熟,而使用C#的程序员对面向对象也是非常熟悉,所以我就不对面向对象进行介绍了,在这篇文章中将只会介绍面向对象在F#中的使用. F#是支持面向对象的函数式编程语言,所以你用C#能做的,用F#也可以做,而且通常代码还会更为简洁.我们先看下面这个用C#定义的类,然后用F#来定义. //定义一个二维点 [DebuggerDisplay("({X}, {Y})")] public class Point2D { // 用于统计已实例化的数量 private stat…
F# 项目 在之前的几篇文章介绍的代码都在交互窗口(fsi.exe)里运行,但平常开发的软件程序可能含有大类类型和函数定义,代码不可能都在一个文件里.下面我们来看VS里提供的F#项目模板. F#项目模板有以下几种类型(以VS2015为例): Silverlight库创建Silverlight的类库 教程模板是一个控制台应用程序,里面包含了F#的示例,可通过这个项目快速了解F#相关内容. "可移植库"则可创建用于多平台的库,支持的平台在括号里说明. "库"用于创建类库…
函数式编程其实就是按照数学上的函数运算思想来实现计算机上的运算.虽然我们不需要深入了解数学函数的知识,但应该清楚函数式编程的基础是来自于数学. 例如数学函数\(f(x) = x^2+x\),并没有指定返回值的类型,在数学函数中并不需要关心数值类型和返回值.F#代码为let f x = x ** 2.0 + x,F#代码和数学函数非常类似,其实这就是函数式编程的思想:只考虑用什么进行计算以及计算的结果(或者叫"输入和输出"),并不考虑怎样计算. 其实,你可以把任何程序看成是一系列函数,输…
本文链接:http://www.cnblogs.com/hjklin/p/fs-for-cs-dev-3.html 在第一篇中,我们介绍了一些基础数据类型,其实那篇标题中不应该含有"F#"字眼,因为并不是特有的. 在本篇中,我们介绍如数组这些集合类型以及部分F#特有的类型. 在第一篇里我们列了一个从0加到100的代码段,了解函数式编程的同学会说那个F#代码不正宗. 而现在的C#开发一般也会使用Linq的方式来代替循环,其实F#天生就是使用这种方式的,下面我们先介绍F#的集合类型,在之后…
本文链接:http://www.cnblogs.com/hjklin/p/fs-for-cs-dev-1.html 简单介绍 F#(与C#一样,念作"F Sharp")是一种基于.Net框架的强类型.静态类型的函数式编程语言. 可以说C#是一门包含函数式编程的面向对象编程语言,而F#是一门包含面向对象的函数式编程语言. 可以查看官方文档了解更多信息. 本系列文章假设你在了解C#的情况下,将F#与C#在异同点上进行说明,让读者能快速地对F#有个系统的了解. 才疏学浅,错漏难免,如果您在阅…
本文链接:http://www.cnblogs.com/hjklin/p/fs-for-cs-dev-2.html 一些废话 一门语言火不火,与语言本身并没太大关系,主要看语言的推广. 推广得好,用的人多,问题也能及时得到解决,用的人就越多,这是一个良性循环,即使语言本身有很多不足也很快能得到解决. 但有的语言本身很好,使用者却不多,缺少交流和推广,致使进入恶性循环. <黑客与画家>作者把Lisp吹上天,但却没见他继续推广,至今在使用的团队和行业还是很有限. 而说到F#,国内也出过F#的高校教…
windows下apache + mod_wsgi + python部署flask接口服务 用python3安装虚拟环境 为啥要装虚拟环境? 原因1:安装虚拟环境是为了使项目的环境和全局环境隔离开,在虚拟环境中,我们可独立的安装需要的包,不影响系统中全局python环境的配置,一台机器可根据不同项目创建多个虚拟环境,相互不会影响 原因2:根据网上的采坑经验,如果在全局python环境下配置wsgi文件,会出现找不到系统中安装的python包的情况 填坑:为啥用python3? 在下载apache…
1.属性的重叠 在渲染前浏览器将判断使用哪个样式 我们书写的样式会覆盖浏览器的自带样式 我们写的样式进行权重比较,规则如下 !import Infiniti无穷大 进制伪256行内样式 1000.id 100类选择器|伪类选择器|属性选择器 10元素选择器|伪元素选择器 1*通配符选择器 0多个选择器时进行相加 值大的就作用成功 3.书写顺序靠后的胜出 2.css属性值计算 只有所有属性都算出来,元素才会显示出来:属性值计算的过程 确定声明值:将没有冲突的值,直接作为属性值 层叠冲突:将冲突的属…
OLE DB访问接口"MICROSOFT.JET.OLEDB.4.0"配置为在单线程单位模式下运行,所以该访问接口无法用于分布式 数据库操作excel时遇到的以上问题的解决方法 解决方法: 我的环境:SQL Server 2008(64位)+windows2008r2(64位) 下载最新的驱动 原因:在64SQL Engine中已经不提供jet.oledb.4.0的驱动了 解决方法: 下载一个ACE.Oledb.12.0 for X64位的驱动,并把连接字符串Microsoft.jet…