码迷,mamicode.com
首页 > 其他好文 > 详细

12.1 生成序列

时间:2015-01-18 11:54:45      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:f#   函数编程   实用函数编程   序列   

12.1 生成序列

 

生成序列有几种方法,先来看一下我们的选择,直接的方法是实现IEnumerator <T> 接口,提供 Current 属性,和 MoveNext方法,将枚举数对象移动到下一个元素。这要求显式创建有可变状态的对象,很明显违反了函数式风格。通常的做法是隐藏可变性,提供更具声明式的方法,表达生成序列的内容,这类似于在前一章使用的延迟值。显式使用可变状态(例如,实现缓存),看起来不是很好的函数式风格,但我们把可变性隐藏到Lazy<‘T> 类型中,就获得了完全合理的函数式代码。

通常,在函数式编程中,我们可以使用高阶函数。F# 库提供了不少的函数处理序列,但我们只看一个例子。后面我们会看到,C# 和F# 都有简单的方法来生成序列,在C# 中,我们可以使用迭代,F# 提供了通用目的的序列处理功能,称为序列表达式(sequence expressions)。

 

12.1 生成序列

标签:f#   函数编程   实用函数编程   序列   

原文地址:http://blog.csdn.net/hadstj/article/details/42834033

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!