lua学习: lua及函数式编程语言

无论 python, ruby, 还是 erlang, lua, 这几个比较新锐的语言,都支持函数式编程。
函数式编程到底具有哪些特点? 相对于传统的命令式语言,其优势在什么地方?

函数式编程,有如下几个特点:

1、 函数是第一类型。
函数像其它数据类型一样,可以被赋值,可以当做参数,也可以当做函数的返回值。

其实, C语言的函数,实质就是一种指针类型,因此我们可以说,C语言也是支持函数式编程的。

2、 函数的执行结果,只与传入的参数相关。
也就是说,只要传入的参数不变,那么函数的执行结果就是一定的,而不受其它条件影响。
这就要求我们,在函数内部,不要访问全局变量。

这点实质上是函数式编程的核心。

这个用术语表示,叫做“引用透明性”

3、 变量一旦被赋值,就永远不可修改。
C 语言如何表示?

4、 惰性计算
将一个函数绑定到一个变量的时候,并不立刻计算; 而是在使用的时候才去计算。

5、 闭包
在其它函数内部定义的函数

6、 高阶函数
使用其它函数作为参数的函数,称为高阶函数

7、 匿名函数 lambda
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值