第五章 局部使用函数值

第五章局部使用函数值

 

本章介绍

■ 认识值的角色

■ 用差别联合表示值

■ 使用泛类型和类型推断

■ 用 lambda 语法创建函数

 

这一章讨论值(values),这是一个在不同的编程语言中大量使用的术语,因此,我们应该首先有我们的定义。当我们讨论函数编程的概念时,将函数程序描述为有输入,有返回结果的计算。简单来说,值既可以用作输入,也可以用作结果,就是说,在我们所实现的计算内部,所使用的一切都是值。

写一个执行计算的函数,我们可以把所有给函数的输入作为输入参数,那么,如果函数需要返回有多个值的结果,又该如何呢?在 C# 中,我们可以使用 out 参数,或定义一个新的类,把这些值组织为一个对象。这两种方法似乎都不协调,因为,在这里对输入和输出的处理方法,完全不同。我们需要的是一种能够把多个值组合成一个值(例如,字符串类型的项名称和整数类型的数量),且这个值既可以作为输入的参数值,也可以作为结果的方法。在第三章,我们简单地讨论了元组,就能达到这样的目的;这里,我们要更详细地讨论元组。

还有一种情况,当计算可能把选项作为输入,例如,搜索函数,参数可以是名字,也可以是项目 ID。在 C# 中,我们可能会让函数有两个参数,并将一个参数值设置为无效值(ID 为 -1 或名字为 null)。对这种问题,我们有更优雅的解决方案,能够将这些值合并为一个选项值,支持从几个选项选择一个,而不是全部。

在函数语言中,函数是另一种(非常重要)类型的值,值是理解函数编程的基础,这就是为什么我们要以此为起点的原因。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值