本章重点演示了在 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