说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

F#是什么语言

HTML文档下载 WORD文档下载 PDF文档下载
F#是由微软发展的为微软.NET语言提供运行环境的程序设计语言。它是基于Ocaml的,而Ocaml是基于ML函数程序设计语言的。 这是一个用于显示.NET在不同编程语言间互通的程序设计。

 

F#是一个基于.NET框架的多模式编程语言、是一种.NET平台上的函数式编程语言、更是一个高效的.NET程序语言。就像C#和VB.NET,F#可以利用.NET的核心类库,如WPF,WCF,VSTO等等,通过F#您甚至可以使用XNA编写XBox游戏。仅仅如此并不意味着您应该去学习它。那为何要使用F#呢?作为一种函数式编程语言,F#使得某些领域的编程要比命令式编程(如使用C#)更为容易。并行编程(Parallel Programming)和面向语言编程(Language-Oriented Programming)是其中的两个领域。
F#语言交互式设计窗口
如果您曾经编写过.NET应用程序,并感觉自己在努力使用手头的语言表达自己的想法,也许F#就是您在寻找的。F#主要是由Microsoft Research 和 Visual Studio 小组协作开发的,并采纳了F#社区和一些主要使用者的意见。F#为Visual Studio 2010带来了很大的改观。因为替代了局部程序中的元组使工作变的简单了。在异步编程和强类型对于浮点编码方面也提供的不错的解决方式。可以说F# 是Visual Studio 2010中结合了众多优点的编程语言。
在F#中函数可以被视为值,可以传递给其他函数,你可以方便地编写高阶函数;F#支持组合式编程,你可以通过使用简单的操作符语法来组合函数;F#提供了支持函数式编程风格的类型,如针对简单数据集合的元组和针对结构化符号数据的discriminated unions;F#提供了许多不可变的数据结构,如不可变的列表、映射、集合、序列和记录等;F#支持异步编程,并且提供了使这种编程比以往更容易的结构;Visual F#中还包括了一个F#解释器,F#互动器(fsi.exe),它能够以交互方式编译并执行代码;F#支持延迟计算,这可以使您直到需要结果时才进行计算;F#支持面向对象语言特征,除了让您使用F#语言开发.NET框架API外,这种特征可以使F#程序能够充分地访问.NET框架。当然除此以外,F#还支持如面向对象语言特征,支持命令式编程结构,支持数学计算等特性。在VS2010中F#除了特征广泛外,它的特点还包括比如说简单简洁的句法、并行和异步的编程。
我们先来看其简单简洁的句法:
  F#像C#一样,是一种强制型的语言。但是我也可以使用类似在Python中那样的方式。既轻量级的,灵活的,数学类的编程方式。
  let data = (1,2,3)
  let rotations (x, y, z) =
  [ (x, y, z);
  (z, x, y);
  (y, z, x) ]
  let derivative f x =
  let p1 = f (x - 0.05)
  let p2 = f (x + 0.05)
  (p2 - p1) / 0.1
  let f x = 2.0*x*x - 6.0*x + 3.0
  let df = derivative f
  System.Console.WriteLine("The derivative of f at x=4 is {0}", df 4.0)
  其运行结果为:“The derivative of f at x=4 is 10”。
  
  在并行和异步编程上,.NET Framework 4 和Visual Studio 2010中,包含了一个关于并行程序开发的庞大文档和工具库。F#提供了一种强健的编程模式和灵活优秀的功能,使这些显现的更为直观。最为重要的是,我们可以在过去习惯了的线性编程模式下进行异步编程。
  let http url =
  async { let req = WebRequest.Create(Uri url)
  let! resp = req.AsyncGetResponse()
  let stream = resp.GetResponseStream()
  let reader = new StreamReader(stream)
  let! contents = reader.AsyncReadToEnd()
  return contents }
  let sites = ["http://bing.com"; "http://microsoft.com";"http://msdn.com"; "http://msnbc.com"]
  let htmlOfSites =
  Async.Parallel [for site in sites -> http(site)]
  |> Async.RunSynchronously
  以上就是Visual Studio 2010中F#语言简单介绍,在使用过程中肯定会有更多的体验。

 

F#是一个基于.NET框架的多模式编程语言、是一种.NET平台上的函数式编程语言、更是一个高效的.NET程序语言。就像C#和VB.NET,F#可以利用.NET的核心类库,如WPF,WCF,VSTO等等,通过F#您甚至可以使用XNA编写XBox游戏。仅仅如此并不意味着您应该去学习它。那为何要使用F#呢?作为一种函数式编程语言,F#使得某些领域的编程要比命令式编程(如使用C#)更为容易。并行编程(Parallel Programming)和面向语言编程(Language-Oriented Programming)是其中的两个领域。

 

 

F#语言交互式设计窗口

如果您曾经编写过.NET应用程序,并感觉自己在努力使用手头的语言表达自己的想法,也许F#就是您在寻找的。F#主要是由Microsoft Research 和 Visual Studio 小组协作开发的,并采纳了F#社区和一些主要使用者的意见。F#为Visual Studio 2010带来了很大的改观。因为替代了局部程序中的元组使工作变的简单了。在异步编程和强类型对于浮点编码方面也提供的不错的解决方式。可以说F# 是Visual Studio 2010中结合了众多优点的编程语言。

在F#中函数可以被视为值,可以传递给其他函数,你可以方便地编写高阶函数;F#支持组合式编程,你可以通过使用简单的操作符语法来组合函数;F#提供了支持函数式编程风格的类型,如针对简单数据集合的元组和针对结构化符号数据的discriminated unions;F#提供了许多不可变的数据结构,如不可变的列表、映射、集合、序列和记录等;F#支持异步编程,并且提供了使这种编程比以往更容易的结构;Visual F#中还包括了一个F#解释器,F#互动器(fsi.exe),它能够以交互方式编译并执行代码;F#支持延迟计算,这可以使您直到需要结果时才进行计算;F#支持面向对象语言特征,除了让您使用F#语言开发.NET框架API外,这种特征可以使F#程序能够充分地访问.NET框架。当然除此以外,F#还支持如面向对象语言特征,支持命令式编程结构,支持数学计算等特性。在VS2010中F#除了特征广泛外,它的特点还包括比如说简单简洁的句法、并行和异步的编程。

我们先来看其简单简洁的句法:

  F#像C#一样,是一种强制型的语言。但是我也可以使用类似在Python中那样的方式。既轻量级的,灵活的,数学类的编程方式。

  let data = (1,2,3)

  let rotations (x, y, z) =

  [ (x, y, z);

  (z, x, y);

  (y, z, x) ]

  let derivative f x =

  let p1 = f (x - 0.05)

  let p2 = f (x + 0.05)

  (p2 - p1) / 0.1

  let f x = 2.0*x*x - 6.0*x + 3.0

  let df = derivative f

  System.Console.WriteLine("The derivative of f at x=4 is {0}", df 4.0)

  其运行结果为:“The derivative of f at x=4 is 10”。

 

  在并行和异步编程上,.NET Framework 4 和Visual Studio 2010中,包含了一个关于并行程序开发的庞大文档和工具库。F#提供了一种强健的编程模式和灵活优秀的功能,使这些显现的更为直观。最为重要的是,我们可以在过去习惯了的线性编程模式下进行异步编程。

  let http url =

  async { let req = WebRequest.Create(Uri url)

  let! resp = req.AsyncGetResponse()

  let stream = resp.GetResponseStream()

  let reader = new StreamReader(stream)

  let! contents = reader.AsyncReadToEnd()

  return contents }

  let sites = ["http://bing.com"; "http://microsoft.com";"http://msdn.com"; "http://msnbc.com"]

  let htmlOfSites =

  Async.Parallel [for site in sites -> http(site)]

  |> Async.RunSynchronously

以上就是Visual Studio 2010中F#语言简单介绍,在使用过程中肯定会有更多的体验。

 

 

在DELPHI中用线程排序 在Delphi中制作背景音乐 在Dephi中使用TStream读写数据的技巧-Delphi资料 在应用程序中跟踪MOUSE的坐标-Delphi资料 怎样建立回调函数-Delphi资料 怎样显示自定义鼠标光标(Cursor)-Delphi资料 找出消失的 Delphi 窗口 执行外部程序-Delphi资料 执行一程序并等待其结束-Delphi资料 制作一个不在任务栏及任务列表中显示的幽灵程序-Delphi资料 抓获全屏-Delphi资料 子目录级的文件查询的实现-Delphi资料 Delphi中ChartFX构件使用详解 Delphi中动画设计 Delphi中对Jpeg格式文件的处理... Delphi中多媒体组件使用解析 Direct3D起步:教程以及资源指南-Delphi资料 播放背景音乐-Delphi资料 弹出、关闭CD-ROM驱动器-Delphi资料 检测声卡存在-Delphi资料 控制声音音量-Delphi资料 让pc speaker美妙动听-Delphi资料 闪动标题栏-Delphi资料 使用 DirectX 优化声音特性-Delphi资料 修改Delphi 3图形处理中的错误 用Delphi 3.0编制MP3音乐点歌台 用Delphi编制MP3音乐点歌台 用Delphi编制趣味动画鼠标 用Delphi开发屏幕保护预览程序 用DEPHI3.0实现动画ABOUT窗口-Delphi资料 在Delphi下用Direct Sound 实现混音器组件 写在羊皮纸上的遗嘱(臭长,建议:谁也别看,没意思) 帮忙,各位兄弟姐妹 ()()()()()()()()上海佬进来!!!受过上海佬骗的进来!!()()()()()()()() 人无远虑,必有近忧。想找块风水宝地百年之后藏身。荐者有分。 可以在 NT 登录以前在客户端创建 DCOM 实例吗? 被背叛的遗嘱 能提供C++制表的源程序吗?THANK YOU!!!!!!!! 还有6天 关于Socket编程的几个问题 哪里有莫文蔚的《the way you make me feel》国语版的? 切~~~~~~~~菜~~~~~~~~~ 斑竹,我觉得这几天CSDN上很无聊,怎么老有人弱智地问重复的或者以前已有答案的问题?他们不知道可以search先? 谁知道哪里有bmp图片可以下载,给个详细网址,多谢 VC 兼职? 荷兰国旗问题 ASP刚学,用什么方式好吗 斑竹!!!!!!!!!!!!!!!! 关于IE浏览 请问vb如何访问foxpro 6.0的数据库,最好有源程序,谢谢. he_cti@163.net 算了,散分 我散,我散,我散散散 散3 发分!!!! 发分!!!!! 发分!!!!!!!! 发分!!!!!!!!!!!! 发分!!!!!!!!!!!!!!!!!!! 请问如何去掉测试版软件的“购买”提示框???急急急急!!! 有关获取HTML中Frames的问题? 给分!!!!!啊 给分!!!!!啊!! 给分!!!!!啊!!!!!! 给分!!!!!啊!!!!!!!!!!!!! 给啊!!!!!!!!!!!!! 不是俺蓄意谋两位帮主的反,实在是 ... APPLET连接数据库。。。(我已经每粉了) 千分散尽不复来!!! 千分散尽不复来!!!! 千分散尽不复来!!!!! 千分散尽不复来!! 千分散尽不复来!!!!!!!! 千分散尽不复来!!!!!!!!! 千分散尽不复来!!!!!!!!!!!!! 用分把灌水乐园咽死!!!!! 千分散尽不复来!!!!!!!!!!!!!!!!! 千分散尽不复来!!!!!!!!!!!!!!!!!! 千分散尽不复来!!!!!!!!!!!!!!!!!!! 千分散尽不复来!!!!!!!!!!!!!!!!!!!!! 千分散尽不复来~ 千分散尽不复来~! 请教数据窗口的问题 甲数比乙数多25%,甲数相当于乙数的( )%,乙数是甲数的( )% 甲数的5分之3等于乙数的75%,已知乙数是80,求甲数的算式是( ) 甲数的60%相当于乙数的45%,已知乙数是30,甲数是多少? 甲数比乙数多20%,乙数比丙数少30%,那么甲数相当于丙数的百分之几? 甲数的5分之3等于乙数的4分之3,已知乙数是80,甲数是( ) 急,要明白的甲的45%等于乙的60%,乙是甲的( )%? 甲数比乙数多20%,乙数比丙数少20%,甲数相当于丙数的百分之几? 甲的5分之3等于乙的百分之75,乙是80,甲几? 甲数的45%等于乙数的105%,甲数( )乙数填大于小于或等于 甲数比乙数多25%,乙数比丙数少20%甲数是丙数的()% 甲数是乙数的百分之80,甲数比乙数少百分之20.这对么?为什么 (选择题)如果甲数的60%等于乙数的2/3,那么( ) 甲数比乙数多20%,乙数比丙数少20%,甲数相当于丙数的百分之几? 甲数是80比乙数少百分之20,乙数是 如果甲数的3/4等于乙数的2/3,那么甲数与乙数的比是多少? 甲数比乙数多20%,乙数比丙数少30%,甲数相当于丙数的百分之几? 甲数是60,比乙数少20,甲数比乙数少百分之几? 如果甲数的3倍等于乙数的2分之一,那么甲数与乙数的比是几比几. 甲数是乙数的35%,乙数是甲数的( )%,甲数比乙数少( )%,乙数比甲数多( )% 观察下列一组数据,想一想它们的算术平方根和立方根有什么规律?10,20,30,40,50,60,70,80,90,100 .换成下换成下列数字又有什么规律?/10,1/20,1/30,1/40,1/50,1/60,1/70,1/80,1/90,1/100 甲数的2/3等于乙数,那么甲数比乙数=( ) 甲数是乙数的4倍,甲数比乙数多()%,乙数比甲数少()% 观察下列一组数据,想一想他们的算术平方根和立方根有什么规律?10,20,30,40,50,60,70,80,90,100这些数据换成10分之1,20分之1,30分之1,40分之1,50分之1,60分之1,70分之1,80分之1,90分之1,100分之1,又有什么规 甲数是乙数的80%,乙数比甲数多百分之几? 甲数比乙数多25%,乙数比甲数少( )% 急 1到9的数字,十字形9个格子,如何让横竖都等于24 甲数是乙数的百分之八十,乙数比甲数多百分之几? 甲数比乙数多5分之1,所以乙数比甲数少( ). 数学10+20+30+50+80+70+60+40+90 甲数比乙数多百分之60,乙数比甲数少百分之几急用 甲数比乙数多60%乙数就比甲数少( )% 数字1~9,放到三行三列的九个空格里,横相加、竖相加、斜相加都等于10. 若甲数比乙数多百分之六十,则乙数比甲数少百分之几 为什么 甲数是25,乙数是20.甲数比乙数多百分之几?乙数比甲数少百分之几 把10 、20、 30、 40、 50五个数填在空格(3*3),横竖相加都相等,如何填?把10 、20、 30、 40、 50五个数填在空格(3*3),使每一横行、竖列三个数相加的和相等,如何填?这些数可以重复使用 甲数比乙数多百分之60,乙数比甲数少多少 甲数是35,乙数是甲数的20%,乙数是多少? 那两个数相乘等于750 ,相加等于-40? 甲数比乙数多百分之六十,乙数比甲数少多少怎么列式最好? 甲数的百分之20等于乙数的百分之35,问谁大?再给我出几个类似的题更好, 正负数如何相加?这几个数字相加等于多少?+5 -4.3 +8 -2.8请列出算式 甲数是20,乙数比甲数多百分之60,甲数比乙数少百分之几 甲数的百分之62.5等于乙数的百分之75,乙是甲的几分之几 三个数相加等于14 三个数相乘等于40 求这三个数分别是多少 求详细步骤 甲数的3/8是乙数的80%,乙数是60,乙数比甲数少百分之几 甲数的75%等于乙数的50%,甲数是乙数的()% 三个数相乘是40,三个数相加等于14,并没有两个数相等.求这三个数分别是多少 60比20多百分之几?,32千米比80千米少百分之几?,甲数是28,是乙数的80%,乙数是多少?. 甲数的75%正好等于乙数的80%,甲数一定大于乙数. 多少相乘等于16相加等于14! 甲数是60,比乙数多百分之50,乙数是多少? 甲数比乙数多20%,乙数比甲数少百分之几? 甲数的75/100正好等于乙数的80/100,甲数一定大于乙数. 2+6+10+14+...+210+214等于几? 甲数的5五分之一等于乙数的百分之25,那么乙数是甲数的( )%,甲数比乙数多( )%.有急用,各位说下哈, 甲数的3分之2等于乙数的2分之1,甲数一定比乙数小,为什么? 甲数的45%等于乙数的60%,乙数是甲数的( )%快快快!回答后加悬赏 甲数比乙数多25%,乙数是甲数的百分之几 因为甲数的80%等于乙数的75%,所以甲数大于乙数,这句话正确吗? 甲数的45%等于乙数的60%,乙数是甲数的百分之几?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn