13.6 第十三章小结

本章重点演示了在 F# 中典型的探究式编程(explorative programming)的生命周期;此外,还介绍了在其他开展过程中非常重要的 F# 语言和库功能。

我们首先从网站获取数据。为此,我们使用异步工作流,在标准的 F# 库中用 F# 计算表达式实现。异步工作流能够用于高效执行 I/O 和其他非常耗时的操作,而不会阻塞调用者线程和浪费资源。下载数据以后,就可以使用 LINQ to XML 库研究其结构,然后,进行解析,并把它转换为类型化的 F# 表示形式。所有这一切都使用了交互式风格,通常写几行代码就能用小部分数据进行测试,然后,写成函数,把相同的逻辑应用到已经下载的所有信息上。

处理集合时,我们使用了许多高级功能,比如,序列表达式,我们还使用了计量单位,描述数据的确切性质。最后,我们讨论了如何在 F# Interactive 的命令行中控制 Excel;这是普通原理,能够用于处理任何 Office 应用程序,以及公开了 COM 接口的其他应用程序。

在第十六章讨论响应式编程(reactive programming)时,我们还会回到 F# 异步工作流。下一章我们会讨论并行化的函数式编程,以充分利用大部分多核处理器;这是密切相关的主题,对许多人来说,是考虑使用函数式编程的最有说服力的理由。

时间: 2024-10-23 15:12:54

13.6 第十三章小结的相关文章

MiS603开发板 第十三章 千兆网RGMII PHY测试

作者:MiS603开发团队 日期:20150911 公司:南京米联电子科技有限公司 论坛:www.osrc.cn 网址:www.milinker.com 网店:http://osrc.taobao.com EAT博客:http://blog.chinaaet.com/whilebreak 博客园:http://www.cnblogs.com/milinker/ MiS603开发板 第十三章 千兆网RGMII PHY测试 13.1 RGMII 简介 RGMII(Reduced Gigabit Me

C#高级编程第11版 - 第三十三章

导航 C# 全版本特性一览 全书目录 第三十三章 Windows Apps 33.1 Windows 应用程序简介 855 33.1.1 Windows 运行库 856 33.1.2 Hello, Windows 856 33.1.3 应用程序清单文件 857 33.1.4 应用程序启动 859 33.1.5 主页 859 33.2 XAML 861 33.2.1 XAML 标准 861 33.2.2 将元素映射到类 861 33.2.3 通过XAML 使用定制的.NET 类 862 33.2.

HTML与CSS入门——第十三章  使用框架

知识点: 1.建立框架集的方法 2.在框架和窗口之间链接的方法 3.使用内联框架的方法 13.1 什么是框架: 框架是浏览器窗口中的一个矩形区域,每个框架显示的是一个完整的页面. 作者不建议使用框架,原因: 1.框架与Web的基础概念冲突 /*什么概念?*/ 2.框架化的网站的打印部分非常困难. 3.如果框架爱缺乏合适的编码,或者有合适的编码但是被用于邪恶的目的,用户可能在框架化的网站中无法看到框架外部的内容. /*不明白……*/ 4.框架已经从html5标准中移除…… 但是iframe依旧存在

perl5 第十三章 Perl的面向对象编程

第十三章 Perl的面向对象编程 by flamephoenix 一.模块简介二.Perl中的类三.创建类四.构造函数 实例变量 五.方法六.方法的输出七.方法的调用八.重载九.析构函数十.继承十一.方法的重载十二.Perl类和对象的一些注释 本章介绍如何使用Perl的面向对象编程(OOP)特性及如何构建对象,还包括继承.方法重载和数据封装等内容.一.模块简介    模块(module)就是Perl包(pachage).Perl中的对象基于对包中数据项的引用.(引用见第x章引用).详见http:

【书评:Oracle查询优化改写】第五至十三章

[书评:Oracle查询优化改写]第五至十三章 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 字符串的处理 ② 常用分析函数 ③ 用sql输出九九乘法表 本文如有错误或不完善的地方请大家多多指正,ITPUB留言或QQ皆可,您的批评指正是我写作的最大动力. 一.2.2  实验环境介绍 oracle 11g 一.2.3  相关参考文章链接 前4章的链接参考相关连接:

第十三章 进程、线程类的实现

                                        第十三章   进程.线程类的实现         多线程是指在一个进程内可以同时运行多个任务,每个任务由一个单独的线程来完成.线程是进程运行的基本单位,一个进程中可以同时运行多个线程.如果程序被设置为多线程方式,可以提高程序运行的效率和处理速度. 多个线程共用一个进程的资源:进程的调度.切换是在10ms的"时钟滴答"定时中断程序里进行.如果一个线程获得CPU,那么在下一个Tick到来前:是不可能被切换出去的

Gradle 1.12 翻译——第十三章 编写构建脚本

有关其他已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或访问:http://gradledoc.qiniudn.com/1.12/userguide/userguide.html 本文原创,转载请注明出处:http://blog.csdn.net/maosidiaoxian/article/details/40976325 关于我对Gradle的翻译,以Github上的项目及http://gradledoc.qin

现代软件工程 第十三章 练习与讨论

13.5.2  有错不改 果冻: 微软的产品经过这么多版本的不断完善,应该是把所有问题都搞定,“止于至善”了吧? 阿超: 那也不一定,在非常有名的电子表格软件Excel中,就有这样一个Bug:Excel 的日期计算功能认为1900年是一个闰年,这是不对的,但是它愣是一直没有改正这个错误. 众人: 真的?为什么屡教不改呢? 阿超: 故事是这样的,当时这类电子表格软件的市场领头羊是Lotus 1-2-3这一款软件.它的日期计算功能有一个Bug,就是把1900年当作闰年.这类软件在内部把日期保存为“从

c++ primer plus(第6版)中文版 第十三章编程练习答案

第十三章编程练习答案 13.1根据Cd基类,完成派生出一个Classic类,并测试 //13.1根据Cd基类,完成派生出一个Classic类,并测试 #include <iostream> #include <cstring> using namespace std; // base class class Cd { char performers[50]; char label[20]; int selections; // number of selections double