题目中有:y=x+1,a = f(g(x), y)
其实a这个值,自始至终都只是与x变量有关!
通过这个映射关系,让我联想到了计算机编程中的函数.
在计算机中,设置一个函数,给函数设置一个形式参数,并且return一个返回值。这样,我们调用就可以了
这里何尝不是呢?
调用f这个函数,传入了g(x)和y这两个变量,虽然他们也是函数,但是也是有返回值的,相当于就是传入了两个值而已!不要被他们吓到了!最后返回值赋值给了a
后面百度一下,原来这个就是函数式编程思想
好处是可以将复杂的逻辑分解成多个小的、可重用的函数,增加代码的可读性和可维护性。
我们可以根据需求设计不同的函数,并通过调用它们来实现所需的计算和操作,就像调用函数来获取特定的返回值一样。
函数式编程有几个优点:
有完备的数学基础,更容易理解
其逻辑测试更容易,而且不太容易出错
非常强大,可以简单实现高度抽象化
和平行计算等概念很兼容
因为这些优点,即使不是函数式编程语言最近也有越来越偏向于函数式的趋势,例如Java从7到8就增加了大量函数式功能。
函数式编程有一些表面的缺点,门槛高,感觉难学,这其实主要因为很多人在学校最早接触的编程都是指令式的性能差,这主要因为早期函数编程没有专门相应的数据结构,使用一般指令式编程的数据结构会导致性能变慢
网友评论