美文网首页
FIRST CLASS FUNCTION

FIRST CLASS FUNCTION

作者: xor_eax_eax | 来源:发表于2018-03-02 10:07 被阅读0次

    最近在学习函数式编程,碰到了一个概念,叫 first class function,以前从来没听过,后来看了 R大(RednaxelaFX,偶像)的博客有写到

    类型:规定了变量可以取的值得范围,以及该类型的值可以进行的操作。根据类型的值的可赋值状况,可以把类型分为三类

    • 1、一级的(first class)。该等级类型的值可以传给子程序作为参数,可以从子程序里返回,可以赋给变量。大多数程序设计语言里,整型、字符类型等简单类型都是一级的。
    • 2、二级的(second class)。该等级类型的值可以传给子程序作为参数,但是不能从子程序里返回,也不能赋给变量。
    • 3、三级的(third class)。该等级类型的值连作为参数传递也不行。

    在scala中,函数是可以作为参数来传递并且返回的,所以scala中的函数就是first class function

    在java8中,增加了lambda表达式,实际上lambda表达式是一个function literal,可以作为参数传递,但是不能赋值给变量,所以只能成为second class function.

    相关文章

      网友评论

          本文标题:FIRST CLASS FUNCTION

          本文链接:https://www.haomeiwen.com/subject/gdwoxftx.html