精华内容
下载资源
问答
  • F#语言入门之什么是F#语言

    千次阅读 2018-10-24 19:23:18
    F#是一种函数式编程语言,可以轻松编写正确且可维护的代码。 F#编程主要涉及定义类型推断和自动泛化的类型和函数。 这使您可以将焦点保留在问题域上并操纵其数据,而不是编程的细节。 open System // Gets ...

    F#是一种函数式编程语言,可以轻松编写正确且可维护的代码。

    F#编程主要涉及定义类型推断和自动泛化的类型和函数。 这使您可以将焦点保留在问题域上并操纵其数据,而不是编程的细节。

    open System // Gets access to functionality in System namespace.
    
    // Defines a function that takes a name and produces a greeting.
    let getGreeting name =
        sprintf "Hello, %s! Isn't F# great?" name
    
    [<EntryPoint>]
    let main args =
        // Defines a list of names
        let names = [ "Don"; "Julia"; "Xi" ]
    
        // Prints a greeting for each name!
        names
        |> List.map getGreeting
        |> List.iter (fun greeting -> printfn "%s" greeting)
    
        0

    F#有许多功能,包括:

     

    • 轻量级语法
    • 默认不变
    • 类型推断和自动泛化
    • 一流的功能
    • 强大的数据类型
    • 模式匹配
    • 异步编程

    详细内容查看http://nopapp.com/Blog/Article/FSharp-What-Is-FSharp

    F#语言入门之什么是F#语言

    展开全文
  • F# 2.0 & F#是什么

    2011-12-20 11:02:22
    F# 2.0 及 F# 是什么 [注意,如果你想使用免费下载的F#2.0,你应该使用2010年8月发布的F#2.0免费下载的MSI和ZIP。这个版本将现有可免费使用的F#的编程工具扩展到了.NET 4.0。] 4月12日在世界各地举办了第五个...

    F# 2.0 及 F# 是什么

    [注意,如果你想使用免费下载的F#2.0,你应该使用2010年8月发布的F#2.0免费下载的MSI和ZIP。这个版本将现有可免费使用的F#的编程工具扩展到了.NET 4.0。]

    4月12日在世界各地举办了第五个Visual Studio 2010发布会,正像Bob Muglia, Jason ZanderS. Somasegar和在拉斯维加斯的现场直播所宣传的。 Visual Studio 2010中包含F#语言的官方版本2.0。正如我们F#团队的习俗,我们也发布了与F#2.0(Visual Studio 2008中一个可以在多种平台上使用的独立编译器)相匹配的MSI和ZIP压缩包

    2010年4月12号代表了微软研究院和特别是最近的微软开发部7年来的语言成果。我为我们已经取得的成就非常自豪。F#带来了一个高生产率、面向对象的.NET编程语言,它将平台扩展到了在技术、算法和数据化、并行算法和探索领域中的新用户。对F#语言来说,它包含在Visual  Studio 2010中代表了一个巨大的里程碑。

    为了帮助大家理解F#是做什么的,我在下面列出一些人们对这个语言的一些常见问题。我们对所有参与到F#中的人表示感谢,特别是那些对我们的语言提出反馈意见的用户。

    问题:F#是什么?

    F#是一种高生产率的函数式的、面向对象.NET编程语言,使用户能够编写简单的代码来解决复杂的问题。其简洁的语法和强大的类型推断,让用户更贴近他们的工作领域,并且它被整合到.NET和VisualStudio中,这样就可以更好使用强大的.NET 平台。

    F#通过其不变性、异步编程和工具(如F# Interactive能在实时数据源上交互式地探索数据、分析、可视化和测试。)而对并行和并发提供强有力的支持。开发过程直接扩展到整个的.NET组件开发,所以不用重写代码。

    问题:F# 是为什么而设计的?

    F#通过为工作在科技、算法、并行和数据化领域的开发人员提供一门高生产率的语言来扩展.NET 平台。这包括在金融服务、数据分析、游戏、科学和机器学习领域的应用。另外F#也具有.NET编程语言的通用目的,这种与语言优势相结合的特点使得F#在开发领域中的广泛应用更具有价值。

    问题:设计F#,最大的目标是什么?

    F#主要的设计目标是结合.NET和面向对象编程的可扩展性与函数式编程的简单表达能力。

    问题:什么是函数式编程?

    函数式编程语言在更直观的层面表达用户想法,让用户更加专注于解决有挑战的问题而不是编写代码这个过程。像F#这种编程语言为用户提供功能性的“工具包”,用户可以拿来来解决他们的问题。函数式编程包含很多概念,例如用不可变性来减少组件间的依赖关系,用泛型来解决在许多不同类型的数据间工作的问题,以及用函数作为值来方便从一个解决方案里抽取能重复使用的代码单元。

    问题:函数式编程最主要的好处是什么呢?

    因为能从代码抽取功能块,F#让编程人员更多的关注于问题域而更少的关注编程本身。这在一些数据勘探、算法和科学计算领域是一个很大的好处,所以我们已经看到很多人在这个方面有使用F#的兴趣。通过提高解决问题的抽象水平,使得解决方案变得更加简单,更加通用,更容易测试和更多的并行化处理。

    原文链接:http://blogs.msdn.com/b/dsyme/archive/2010/04/12/f-2-0-released-as-part-of-visual-studio-2010.aspx

    展开全文
  • 题目://根据一个前序遍历的得到的字符串来构建二叉树例如 ABC##DE#G##F### #代表的是null; int i=0;//定义在类外 public Node buildTree(String str){//根据一个前序遍历的得到的字符串来构建二叉树例如ABC##DE#G...

    题目://根据一个前序遍历的得到的字符串来构建二叉树例如 ABC##DE#G##F### #代表的是null;

    int i=0;//定义在类外
        public Node buildTree(String str){//根据一个前序遍历的得到的字符串来构建二叉树例如ABC##DE#G##F###  #代表的是null;
            Node root=null;
            if (str.charAt(i)!='#'){ ///子问题  每一个不为#的节点都是一个根节点
                root=new Node(str.charAt(i));  //创建一颗树的根节点
                i++;
                root.left=buildTree(str); //创建树的左节点
                root.right=buildTree(str);//创建树的右节点
            }else {
                i++;
            }
            return root;
        }
    
    展开全文
  • F#基本语法的学习是基于对F#类型系统和类型推断机制的理解的。在本节教程中,我们将学习到F#的变量声明和程序流程结构。   【51CTO独家特稿】在上一节F#教程中,我们对F#的类型系统和类型推断机制有了...
    • F#基本语法的学习是基于对F#类型系统和类型推断机制的理解的。在本节教程中,我们将学习到F#的变量声明和程序流程结构。

     

    【51CTO独家特稿】在上一节F#教程中,我们对F#的类型系统和类型推断机制有了一个初步的认识。F#的类型推断原理是学习F#的重要基础。本节课程,我们将在F#类型基础上进一步学习F#的一些基本语法。

    “let”表达式是F#语法的核心,可以用作定义函数、序列等多种用途。另外,F#使用空格来标记程序块的开始与结束。

    定义值

    1. let x = 2 
       

    定义函数值 

    1. let f a = a + x 

    定义循环函数

    1. open System.IO   
    2. let rec printSubDirFiles dir =   
    3.    let fles = Directory.GetFiles dir  
    4.    let dirs =  Directory.GetDirectories dir   
    5.    printf “%s/n%A/n/n” dir fles  
    6.    Array.iter printSubDirFiles dirs 

    此外,F#还提供传统的循环和迭代等流程控制结构,比如if、for、while。但我们需要注意的是,F#中的“if…then”和“if…then…else”与传统的面向对象语言有些不同。在F#中,大多数表达式必须含有一个值,并且控制结构“if…then…else”表达式的两边的值必须是同一类型。注:F#的这种语法约定源自其推断型语言的编译机制,详细请参考上一节教程中关于F#类型推断机制的介绍。

    F#中的常用流程控制语句示例

    F#常用流程控制语句

    与大多数.NET平台上的编程语言相似,F#也提供一些组织代码的机制。事实上,F#提供模块和命名空间两种方式,下面的一些演示将给出C#和VB的命名空间。F#的模块化不只局限与语法范围,还提供模块化的层级标准,例如集合和函数。

    F#的基础代码组织:命名空间、类型和模型

    1. namespace MyFSharpProg  
    2. open System.Net  
    3. type Foo () =  
    4.   member x.GetRequest = WebRequest.  
    5. Create  
    6. module Main = begin  
    7.  // values and functions here  
    8. end 

    与传统的函数式编程原则相同,多数时候,F#的标识符是不可变的。但F#允许定义和修改使用“mutable”保留字的值,或通过“ref”保留字改变其前面的引用。mutable的值可以通过左箭头操作(“<-”);ref的值可以通过“:=”操作符制指定。我们可以通过“!”获取ref的值。下面来看具体示例:

    声明/更新可变值

    1. let mutable x = 0  
    2. x <- x + 1 

     

    声明/更新参考值

    1. let x = ref 0  
    2. x := !x + 1 

     

    F#小提示:在习惯了C#或Java等编程语言后,刚刚开始F#编程,阅读F#代码感觉就像乱码一样。因为F#为了保有函数式编程的一些优秀特质,不得不引入一些如“<-”、“:=”、“!”等奇怪的符号作为操作符或运算符;另外,F#在代码中需要通过一些推断机制来评判变量的类型,在阅读F#代码时,应对F#的类型系统做到心中有数,所以,多数时候我们看到的是“let”,而不是传统的“int”、“string”、“float”等。希望大家能充分理解F#的类型系统和类型推断机制,这是F#的重要基础,也是走进函数式编程语言的重要一步。

    展开全文
  • 这篇文章是此系列中的第一篇,在这个系列中,我将介绍F#中的一些特性,如对数字运算有帮助的特性以及一些来自F# PowerPack库的一些功能。大部分内容最初都是为位于MSDN上名为“F#中的数字运算”的章节(我之前发布的...
  • F# 基础

    千次阅读 2014-03-03 19:38:36
    F# 基础 再译《F# 基础》序 前言 第一章  什么是函数编程  函数编程为啥重要  什么是 F#  谁在用F#  谁能读本书 第二章 获得、安装、使用 F# 第三章 函数编程(一)  文字、函数、标识符、标识符的...
  • F#是微软.NET平台上一门新兴的函数式编程语言,通过函数式语言,开发人员可以轻松应对多核多并发时代的并行计算和分布问题。本文是F#简明教程的第一章,带您走进F#和函数式编程。 【51CTO独家特稿】F#是微软.NET...
  • Zemax-几个F#

    2019-07-08 09:06:48
    基础概念有时理解不够清楚,比如F#,知道几个不同,从字面也能理解大概,但说不明白 一共有三个F/#:1.像空间F/#(Image space F/#) 2.近轴工作F/#(paraxial working F/#) 3.工作F/#(working F/#) 1.像...
  • F#教程(一)——————F#语言概述

    千次阅读 2010-02-02 21:18:00
    F#是一种简洁、高效、富于表现性的函数式的及面向对象的程序设计语言。它是基于Ocaml的,而Ocaml是基于ML函数程序设计语言的。F#自2002年开始研发,2005年发布了第一个版本,2007年底正式从研发专案转移至产品部门,...
  • *二叉树的前、中、后序、层序遍历 非递归 测试:ABC##DE#G##F### */ #include #include #define MAX_SIZE 100 typedef struct BiTNode { char info; struct BiTNode *lchild; struct BiTNode *rchild...
  • F# 入门书籍 基础教程

    2008-09-13 21:56:24
    F#入门书籍(PDF)F#入门书籍(PDF)F#入门书籍(PDF)F#入门书籍(PDF)F#入门书籍(PDF)F#入门书籍(PDF)F#入门书籍(PDF)
  • F# 简介

    2010-08-17 10:18:00
    概述 F# 是微软公司推出的一种新的功能性编程语言。尽管它主要是一种功能性编程语言,但它却因多范式语言而知名,因为它还支持面向对象编程。F# 与整个 .NET 库系统和开发环境紧密集成,因此开发人员能够将功能性...
  • 例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。 输入描述: 输入包括1行字符串,长度不超过100。 输出描述: ...
  • 例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起 此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。 输入描述: 输入包括1行字符串,长度不超过100。 输出描述:...
  • F# 学习资料汇总

    2011-12-15 16:03:26
    在没装F#编译器情况下,尝试F#代码运行。 如下图代码声明一个1到10数组和一个函数,计算数组中所有数字的平方和:   F#开发中心官方网站: F#developer center  F#关键开发人员博客: Don Syme设计...
  • vs2019 开始自己的第一个F#程序

    千次阅读 2019-10-24 12:58:43
    这是针对于博客vs2019安装和使用教程(详细)的F#项目新建示例,代码比较简单,适合入门~ 目录 一、安装F#环境 二、启动程序 三、编写小程序 四、运行结果 五、注意事项 一、安装F#环境 1.运行安装程序,...
  • 认识F#中的数组

    千次阅读 2014-12-21 09:47:31
    我们在介绍新的F#数组之前,还介绍一下基础的知识,我这里把MSDN中的相关的代码拿出来,做专门的注解。 创建数组 您可以创建数组在几个方面。您可以创建一个分号隔开以“|”为开始和结束,如以下示例所示。 f# ...
  • F# 入门

    千次阅读 2010-04-28 14:22:00
    作 为 Microsoft® .NET Framework 家族的新成员,F# 提供类型安全、性能以及类似脚本语言的工作能力,所有这些都是 .NET 环境的一部分。此函数式语言由 Microsoft 研究院的 Don Syme 发明,作为 CLR 的 OCaml 语法...
  • 什么是 F#

    千次阅读 2014-03-07 09:43:39
    什么是 F#?   函数编程是解决许多棘手问题的最好方法,但是,纯函数编程并不适合常规编程。因此,函数编程语言逐渐吸收了命令式、面向对象的编程模式,不仅保持了函数编程范式,同时也混合了其他需要的功能,使...
  • F#语言

    千次阅读 2011-01-02 21:58:00
    F#源发于CAML语言,这是一种由法国国家信息、自动化研究院(INRIA)开发的元语言,其中的一种分支是Objective CAML,用于教学程序。但是当人们赞誉该语言在静态检查和类型推论方面的极佳性能时,微软公司表示元...
  • 谁在用F#

    千次阅读 2014-03-07 19:36:21
    谁在用F#?   F# 在微软内部表现就很强劲,不仅在微软研究,而且在整个公司。Ralf Herbrich,微软研究院应用项目组的另一位领导,专门从事机器学习技术,是正在逐步壮大的F# 粉丝中一个铁杆。   “第一个应用...
  • Visual F# 3.0 Beta 介绍

    千次阅读 2012-03-31 15:29:52
    这个版本包含F# 3.0的Beta版,此F# 3.0介绍了F#信息富态编程   Beta版本发布了一些新的F#特性,包括:可移植库支持,加强的Type Providers,改善的智能感应,以及支持任意CPU的FSI版本。我们也已经更新了F#...
  • F#快速入门资料

    千次阅读 2010-03-15 14:19:00
    The basic syntax of F# - keywords and constructsThe basic syntax of F# - classes, interfaces, and membersThe basic syntax of F# - typesF# function types: fun with tuples and curryingDiscrimi
  • 1.5.1 用 F# 写 Hello world

    千次阅读 2014-08-04 08:36:47
    1.5.1 用 F# 写 Hello world   开始使用 F# 最简单的方法是创建一个新的脚本文件。脚本是轻量级 F# 源文件,它一定属于项目,扩展名通常是 .fsx。在 Visual Studio 中,可以选择 File > New > File (或按 Ctrl +...
  • F#学习过程中的一点看法

    千次阅读 2012-04-13 08:56:46
    接触F#其实已经很久,因为没有用,也就没有仔细去学,现在在公司的一部分工作也是负责新技术的研究,在弄VS2011过程中发现MVC4中有模型层直接用F#的模板,看来微软有点要实际推F#的感觉,于是决定系统的学习一下F#。...
  • 函数式编程语言F#

    千次阅读 2011-10-10 08:58:46
    作为微软支持的第一个函数式语言,F#在项目中被越来越多的开发者选用,8月的TIOBE排行榜,F#挺进前二十。 源于微软研究院的F#语言因其优良的设计和强大的并行编程能力,正得到越来越多.NET开发者的选用。在8月的...
  • VS2013中F#的新特性

    千次阅读 2014-12-21 08:54:22
    为了更好的迎接新版本的到来,先看一下之前F#的特性。 1.为区分联合(discriminated unions)添加了命名域,使代码更加清晰。 2.用新数据的新特性,使矢量和矩阵编码更容易的工作 3.更强大的泛型算法的扩展 4.得到...
  • 第二章 获得、安装、使用 F#

    千次阅读 2014-03-12 11:06:27
    第二章获得、安装、使用F#   这一章介绍如何获得F#,如何在Windows 和Linux 下安装,如何以不同的方法编译,我们也将讨论本书用于测试的例子的软件版本。   获得F#   F# 现在默认包含在 Visual Studio2010 中,...
  • 1.引言-为什么使用F#

    千次阅读 2013-06-25 11:28:55
    “为什么使用F#”系列将带你领略F#的主要特性并展示F#如何在你日常开发中带来帮助。 C#不能比拟的优点 如果你已经对C#或Java非常熟悉,你可能会问为什么F#是一门值得我学习的语言?我将F#的一些主要优点...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 741,646
精华内容 296,658
关键字:

f#