我们常常听说,函数式编程中,函数是一等公民。那么,准确讲,对于一个程序设计语言而言,什么样的东西才是它的一等公民(first-class citizens)?这个曾经有牛人给出了定义,一等公民享有如下权利:
- 可以被变量命名(To Be Named by Variables);
- 可以作为方法的参数(To Be Passed as Arguments to Procedures);
- 可以作为方法的返回值(To Be Returned as Values of Procedures);
- 可以成为数据结构的一部分(To Bo Incorporated into Data Structures);
这样来看,C/C++中的函数也是一等公民,但是Java中的函数则不是。
阅读(2480) | 评论(0) | 转发(0) |