11.3.1.1 C# 和 F# 中的提前计算

728 篇文章 1 订阅
349 篇文章 0 订阅

11.3.1.1 C# 和 F# 中的提前计算

 

在大多数主流的语言中,指定计算顺序的规则很简单:程序进行函数调用时,先计算所有的参数值,然后再执行函数。我们用前面的例子来演示:

 

TestAndCalculate(Calculate(10));

 

在所有的主流语言中,程序都会执行Calculate(10),然后再把结果作为参数值传递给TestAndCalculate。正如我们在前面的示例中已经看到的,如果函数 TestAndCalculate 不需要这个参数值,就很不幸了;在这种情况下,我们就无故地浪费了一些CPU 周期!这种策略称为提前计算策略(eager evaluation strategy)。

提前计算的好处是,很容易理解程序是如何执行的。在C# 和F# 中,这是很重要的,因为我们需要知道副作用(比如I / O和用户界面操纵)运行的顺序;而在Haskell 中,这是由函数的参数值和返回值控制的,因此,对于运行的顺序,我们并不需要考虑太更多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值