12.3.2.1 使用高阶函数
来源:互联网 发布:淘宝网开店怎么开手机 编辑:程序博客网 时间:2024/06/05 19:04
12.3.2.1 使用高阶函数
在 F# 中,使用 Seq 模块与 List 相同,而且,我们已经知道,如何在 C# 中使用 LINQ 扩展方法。而在使用列表和序列方面,有一个显著区别:序列是延迟的。直到从返回序列中取出元素时,处理代码才执行,尽管那样,它所做的工作,也只是为了返回结果所需要的。现在,我们用简单的代码段来演示一下:
var nums1 =
nums.Where(n => n%3 == 0)
.Select(n => n * n)
let nums1 =
nums |> Seq.filter (fun n -> n%3=0)
|> Seq.map (fun n -> n * n)
当我们运行这段代码时,它不会处理任何元素;它只创建一个表示序列对象,可以用于访问元素;这还说明:nums 值可以是无穷数字序列。如果我们只访问序列的前 10 个元素,代码能够正常运行,因为筛选和映射都是延迟处理数据的。
使用高阶处理函数,经过我们在第六章深入讨论之后,你可能已经熟悉,在整本书中,我们提供了很多例子。在本章,我们将转而讨论表达可选工作流的方法。
0 0
- 12.3.2.1 使用高阶函数
- 2.3.2.1 使用高阶函数扩展词汇
- 6 使用高阶函数处理值
- 12.1.1 使用高阶函数
- 12.1.1 使用高阶函数
- 匿名函数与高阶函数的使用
- python 函数式编程 一些高阶函数的使用
- 第六章 使用高阶函数处理值
- JS高级编程2-使用高阶函数
- JS高级编程2-使用高阶函数
- 高阶函数
- 高阶函数
- python高阶函数
- lecture5:高阶函数
- 高阶函数
- 高阶函数,集合
- js高阶函数
- 高阶函数
- Docker实践
- 经验分享:极速化 CocoaPods
- 字符串类String
- LeetCode - Binary Tree Maximum Path Sum 题解
- VC6 + ACE配置
- 12.3.2.1 使用高阶函数
- 常用汇编指令
- winsock
- MFC ActiveX开发笔记
- COM接口与抽象类
- TinyXml使用笔记
- jsoup解析网络HTML页,基本的使用方法
- Windbg常用命令
- 密码库LibTomcrypt的内容介绍及分析