fsharp_net的专栏

注:等同于http://www.cnblogs.com/tryfsharp

排序:
默认
按更新时间
按访问量

F# 2.0 & F#是什么

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

2011-12-20 11:02:22

阅读数:804

评论数:0

如果类是个泛型类的话dllImport 代码不能编译

你可能需要在dllImport代码中使用泛型类。但是你知道下面的代码段能通过编译么? open System.Runtime.InteropServices   type B() =     member this.F() = ()   module A =     [&qu...

2012-06-08 17:03:41

阅读数:1483

评论数:0

注意:我们不能在模式匹配中放入lambda 表达式

以下代码在VS2012中不能通过编译,你知道么?知道为什么么? let f0 x = x % 2 = 0 let f1 x = x % 2   let ( | Even | _ | ) f (x:int) = if f(x) thenSome(Math.Sign(x)) else N...

2012-06-08 17:01:46

阅读数:1630

评论数:0

F# 智能感应在某些情况下不能工作

在现在的Visual Studio 2012中,F#智能感应有时候在某些情况下不能工作。那么在何种情况下它会不工作呢?可以绕过去么?让我来告诉你详细情况吧。 请看如下代码: open System.Collections.ObjectModel   module PortableLibra...

2012-06-08 16:59:40

阅读数:1489

评论数:0

F#与数学(Iv) - 泛型数字代码

泛型数字代码是能够被用来处理多种不同数字类型包括像int 型, decimal型 和float型或者甚至是我们自己的数字类型的一些计算(比如此系列的前篇文章中的时钟运算)。泛型数字代码区别于普通的F#泛型代码像'a 链表类型 或者List.map函数, 因为数字代码使用数字操作符, 比如为每个数字...

2012-06-01 13:48:28

阅读数:2096

评论数:1

F# ≥ C#(活动模式 和枚举)

F#提供了一个叫"活动模式"的有趣功能。它把输入的数据转换成其他不同的东西。 一个有趣的使用实例就是代替枚举。但我编程枚举的时候,我总不高兴去链接枚举项到它的定义。例如,下面的枚举定义了 数字枚举, enum Numbers {     Odd,     Even, ...

2012-06-01 13:31:58

阅读数:1866

评论数:0

Window Phone上的F# - 图形计算器

最近在西雅图F#小组期间,我被问到怎样用F#来做windows phone calculator。若是你知道F#,它并不难。 计算器的骨干就是一个字符串解析器。它能被从头开始写或者用已有的东西来写。既然我想投入生产而不是准备一个面试,那么我选择使用F# powerpack提供的已有的yacc...

2012-06-01 13:18:10

阅读数:1689

评论数:0

F#互操作中的一招

当我尝试破解.CAB文件的时候, 我发现F#里面的COM交互不同于C#。 在从"COM"选项卡增加了"Microsoft Shell Controls And Automation"之后,C#里面的实例代码像下面的代码。 bool ExpandCabFi...

2012-06-01 13:13:40

阅读数:1436

评论数:0

Type Provider - 通过 给一个自定义基类共享信息

我有一个坏习惯,对我来说,忘记它不是很容易。昨天晚上,这个小怪物又来困扰了我。可能我不能解决之前的问题,相反我被引诱到一片新领土。昨天晚上,这个怪物提醒了我单元测试 type provider, 使我想到怎样在不同的type provider方法间共享信息。 目前的type provider的方...

2012-06-01 12:57:24

阅读数:2270

评论数:0

F#3.0自动地实现属性

F#3.0实现了几个新的功能:Automatically Implemented Property(AIP).这简化了在类型定义里面的属性声明,但不仅仅是这些。   基本的AIP是,用更简明的语法,你就能定义一个属性。下面的MyProperty是一个AIP.   typeMyType() ...

2012-05-24 11:41:40

阅读数:1472

评论数:0

F# 3.0 CLIMutable特性

如果你曾经用一些设计器支持使用过XAML,那么你将额外地受益于设计器所带来的好处。我已经花费了数周,不用实现任何功能和设计器支持的工作。这里描述了一个案例。默认的构造函数是关键!不幸地是,F#里面的 record类型没有一个默认的构造函数,这使绑定变得困难。   现在我们有CTlMutab...

2012-05-24 11:30:36

阅读数:1436

评论数:0

F#和C#里面的NULL 值

首先,NULL对于F#类型来说是不允许的值,这在某种意义上是好的,但是由此也带来了麻烦。   第一个需要可能是:忘记所有关于option和NULL的参数,我需要NULL,那是我编程的方式。那么好。你可以使用你允许它为NULL的类型的[]特性。   真正走进F#的人们同意使用option是一...

2012-05-24 11:06:12

阅读数:1822

评论数:0

模式匹配的类型测试不能识别List<’a>

我在Visual Studio论坛上读过一个很有趣的论坛帖子,内容大致是这样的: 当试图测试一个obj对象是否是一个空的list,我们不能用模式匹配的类型测试来达到目的,具体代码如下: let empt (o: obj) =      match owith      | :? List ...

2012-05-17 10:05:31

阅读数:1396

评论数:1

F#与数学(III) – 自定义数字类型(PartIII)

用全局关联来支持矩阵 我们的数字类型可以被用在一些标准的库函数如List.sum中,因为它们实现一些被List.sum必需的静态成员约束的成员。然而,这种方法对复杂的数据类型如泛型矩阵不工作。如果我们试图用我们的类型写任意矩阵计算,这将是不工作的,因为泛型矩阵类型不能自动的使用我们提供的重载操作...

2012-04-27 13:00:09

阅读数:1382

评论数:0

F#与数学(III) – 自定义数字类型(PartII)

交互地测试数字类型 下一步,我们将用F#交互来验证我们所写的代码到目前为止是按预期工作的。在这一点上,我们甚至没有生成库。我们仅仅写了一些F#的源代码,想不生成库来测试这些源代码。我们将使用在F#脚本文件中写入的交互式测试。一旦你建立了库,就可以很容易地用NUnit,XUnit或者其他测试框架把...

2012-04-27 12:51:27

阅读数:1574

评论数:0

F#与数学(III) – 自定义数字类型(PartI)

本章中,我们定义用于模算术运算[1](也称为时钟运算)的F#数字类型。模算术用于当我们想保留一个通过循环计算在指定范围内的值。例如,时钟的最大值为12小时。当我们将11小时和3小时相加的时候,数值会溢出,结果就为2小时。且别说时钟,这种数字系统对密码学,音乐等也是必需的。 本文介绍了几种在F#中...

2012-04-27 11:26:49

阅读数:1625

评论数:0

Visual F# 3.0 Beta 介绍

就像Jason Zander在他的博客里公布的那样,Visual Studio 11 Beta现在已经可以下载了!这个版本包含F# 3.0的Beta版,此F# 3.0介绍了F#信息富态编程   Beta版本发布了一些新的F#特性,包括:可移植库支持,加强的Type Provid...

2012-03-31 15:29:52

阅读数:1938

评论数:0

F#与数学(II) – 在图形算法中使用矩阵(PartIII)

其他矩阵操作 我们将简单的介绍一些F# PowerPack中提供的关于矩阵的有用的函数与操作符用来总结这部分内容。下面的列表给出了一组相似函数的使用示例。 逐点操作 Matrix.cptMax Matrix.cptMin Operators: + and .* ma...

2012-03-21 16:03:15

阅读数:1897

评论数:0

F#与数学(II) – 在图形算法中使用矩阵(PartII)

使用矩阵 Matrix是一种可变类型,因此它可以在创建后被修改。当你必须要修改矩阵式,最好的方法就是一次性的修改,修改后将之视为不可变的(例如:当矩阵作为函数结果被返回时,而此函数是使用可变性来实现的)。这样的话,你会在构造是得到好的性能,同时你可以保持代码的其余部分透明地引用它。   用序...

2012-03-21 15:47:02

阅读数:1538

评论数:0

F#与数学(II) – 在图形算法中使用矩阵(PartI)

在本系列的上篇文章中,我们了解了complex和BigRational类型,它们都是位于F# PowerPack中的数字类型。除了这两种,PowerPack库也包含了一种名为matrix的类型,此类型表示一种由浮点数组成的二维矩阵。   在这篇文章中,你将学会在F#中如何使用矩阵,如何使用...

2012-03-21 15:41:58

阅读数:1865

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭