苏州阊胥路北大青鸟 北大青鸟苏州阊胥路标准化校区
  书香社区·书香博客·联系我们  
全国免费电话:400-888-1050
 
首页 | 新闻动态 | 学校介绍 | 课程详解 | 师资力量 | 学习园地 | 就业广场 | 开发技术 | 校区招聘
  在线报名 在线留言  
   
您的位置:首页 - .NET技术  
认识 F#  
2009-11-24  发布人:殷振华  浏览次数::

    同 C# 一样,F# 发音为 F-Sharp。F# 虽然是微软推出的,但用微软的 bing 搜索关键词“F#”,至少前两页都与 F# 无关,看来 bing 还有很长的路。
    F# 是由微软发展的为微软 .NET 语言提供运行环境的程序设计语言,是函数编程语言,它基于 OCaml(Objective Caml),甚至有时可把它看作“OCaml for .NET”。函数式编程是种编程典范,它将计算机运算视为函数的计算,函数编程语言最重要的基础是 λ  演算(lambda calculus),而且 λ 演算的函数可以接受函数当作输入(引数)和输出(传出值)。
    F# 是不是设计来取代 C# 的呢?不是的,微软在 2002 年就开始研发 F# 了,其实每种语言都有一些优缺点,这种语言可能更适合这种场合,那种语言可能更适合另外一种场合。F# 作为函数编程语言:和指令式编程相比,函数式编程强调函数的计算比指令的执行重要;和过程化编程相比,函数式编程里,函数的计算可随时调用。
    下面我们一起来看两个例子:
    Sample1:打印"Hello,World!"       
            (* This is a comment *)
            (* Sample hello world program *)
            printf "Hello World!"

    Sample2:打印数组中的全部数据
            #light
            open Microsoft.FSharp.Collection.List
           (* print a list of numbers recursively *)
           let rec printlist l =
                         (* When using "#light", you must indent with 4 spaces *)
                         if l = [] then
                         else
                             printf "%d " (nth l 0)
                             printlist (tl l)

    Sample3:在桌面上添加一个按钮,和一个Label,点击按钮时,改变Label文本框的内容
            #light
            open System.Windows.Forms
            type MyForm =
                       inherit Form
                       val l :Label
                       val b :Button
                       member t.InitializeComponent() =
                                           t.Text<-"F Sharp Sample"
                                           t.Controls.Add t.l
                                           t.Controls.Add t.b
       
                                           t.b.Click |> Event.add(fun evArgs ->
                                               t.l.Text <- t.l.Text + "您好!")      
                       new() as t =
                       {
                              b = new Button(Text="点 击",Location =

                                  new System.Drawing.Point(100,128))
                              l = new Label(Text="显示信息:",Location =

                                               new System.Drawing.Point   (100, 100),

                                               Size=new                                            

                                              System.Drawing.Size(200, 20))
                        }
                      then
                          t.InitializeComponent()  
            
                          let form1 = new MyForm(Visible=true, TopMost=true)           
           
                     do Application.Run(form1)
    现在国内关于F#的可学习资料特别少,所以想学习的朋友,对于英文有点要求哦。
    文章参考:
http://www.cftea.com/c/2009/07/8FG02OL4FUNH3UZR.asp

 
设为首页 | 加入收藏 | 联系我们 | 联系站长 | 友情链接
报名咨询:0512-65566661 65566662   备案许可证号:苏ICP备09076008号
地址:苏州市阊胥路483号创元科技园6号楼1层(干将西路友通数码港向北100米)
交通路线:6、7、7路区间、64、70、88、262、300、303、304、307、318、332、333、333路龙池专线、
522、800、921、932、949.(小日晖桥北站)