
记录
心想才事成
这个作者很懒,什么都没留下…
展开
-
8.3.1 函数的记录
8.3.1 函数的记录 我们已经看到一个处理多个函数的方式。在前面的示例中,我们返回一个函数元组作为结果,可以用相同的技术,来表示有新的报表功能的应用程序。我们说,这个报表函数取客户端、打印一些内容到屏幕上,返回 unit 作为结果。使用这种表示,行为列表的类型将是 ((Client -> bool) * (Client -> unit)) list 开始翻译 2011-06-28 17:14:00 · 453 阅读 · 0 评论 -
5.2.3.1 避免复杂的元组
5.2.3.1 避免复杂的元组 很明显,返回有很多元素的元组,wf 使代码难以阅读;在 F# 中,可以用记录类型代替有太多元素的元组。记录提供了一种简单方法,创建有标记成员的类型;记录通常用于保存程序数据,我们将在第七章谈论。 基于函数返回类型中元素的数目,使函数难以使用的观点,也因人而异,但我们建议,避免返回的元组有三、四个以上的元素。当然也有例外,在开发的早期,使用大的元组原型可能是翻译 2014-10-20 14:05:26 · 653 阅读 · 0 评论 -
7.1.1 使用 F# 记录类型
7.1.1 使用 F# 记录类型 记录是“有标记元组(labeledtuples)”,是把几个不同的元素保存在一个值中;此外,每个元素都有一个可以用来访问的名字。在 F# 中,元素的名字叫字段(fields),它在很多方面类似于 C 的记录或结构(struct)构造,或者 C# 中的匿名类型。记录与匿名类型既有不同,即必须事先声明,也有相同,在基本形式中,记录只包含唯一属性,保存数据;清单翻译 2014-11-24 09:38:56 · 1056 阅读 · 0 评论 -
7.1.1.1 处理记录
7.1.1.1 处理记录 我们在本章后面还要用到Rect 类型,有两个简单的函数来处理矩形。第一个函数是缩小矩形,通过从每一条边上减去指定的宽度和高度,第二个函数是把我们的矩形表示形式转换成 System.Drawing 命名空间中的 RectangleF 类。清单 7.2 中是这两个函数。 清单 7.2 处理矩形的函数 (F# Interactive) > open Sy翻译 2014-11-24 09:58:27 · 929 阅读 · 0 评论 -
7.1.2 C# 中的函数式数据结构
7.1.2 C# 中的函数式数据结构 我们曾经用 C# 实现过几个函数式不可变数据类型,比如 FuncList 或元组。在 C# 中,是通过以特殊方式写类来实现的,最重要的是,所有属性必须是不可变的,这是通过使用只读字段,或者通过声明的属性具有私有的 setter,且只在类的构造函数中设置来实现。在清单 7.3 中,我们使用第一种方法实现似于类清单 7.1 中 Rect 类型的类。翻译 2014-11-24 11:09:12 · 869 阅读 · 0 评论 -
7.2 平面文档的表示
7.2 平面文档的表示 在这一章,我们将要开发一个用于显示文档的应用程序。首先设计文档的表示形式,适合于绘制在屏幕上。使用这种表示方式,文档就是元素的列表,其中包含一定内容(可以是文本,也可以是图像),和指定的边框,在边框中绘制具体内容。图7.1是一个文档的示例,有三个突出显示的元素。 我们看一下用 F# 表示文档的数据结构。清单 7.4 引入了新的表示两种类型元素的差别联合,和新的表示翻译 2014-11-24 15:41:34 · 973 阅读 · 0 评论