- 博客(3)
- 收藏
- 关注
翻译 F#与数学(III) – 自定义数字类型(PartIII)
用全局关联来支持矩阵我们的数字类型可以被用在一些标准的库函数如List.sum中,因为它们实现一些被List.sum必需的静态成员约束的成员。然而,这种方法对复杂的数据类型如泛型矩阵不工作。如果我们试图用我们的类型写任意矩阵计算,这将是不工作的,因为泛型矩阵类型不能自动的使用我们提供的重载操作符和成员。为了支持矩阵我们需要提供所谓的数值关联。它是个简单的接口,包含了我们的类型上能被执行的数
2012-04-27 13:00:09 1506
翻译 F#与数学(III) – 自定义数字类型(PartII)
交互地测试数字类型下一步,我们将用F#交互来验证我们所写的代码到目前为止是按预期工作的。在这一点上,我们甚至没有生成库。我们仅仅写了一些F#的源代码,想不生成库来测试这些源代码。我们将使用在F#脚本文件中写入的交互式测试。一旦你建立了库,就可以很容易地用NUnit,XUnit或者其他测试框架把它们转变成相应的单元测试。为了测试我们在源代码级别实现的类型,我们先添加一个新的名为Test.fs
2012-04-27 12:51:27 1786
翻译 F#与数学(III) – 自定义数字类型(PartI)
本章中,我们定义用于模算术运算[1](也称为时钟运算)的F#数字类型。模算术用于当我们想保留一个通过循环计算在指定范围内的值。例如,时钟的最大值为12小时。当我们将11小时和3小时相加的时候,数值会溢出,结果就为2小时。且别说时钟,这种数字系统对密码学,音乐等也是必需的。本文介绍了几种在F#中定义任何新的数字类型时必不可少的技术。更重要的是,你将学会如何::: 用重载运算符定义一个数字类
2012-04-27 11:26:49 1838
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人