在函数式编程中,第一类值如下所示:
可以分配给变量的值.
可以作为参数传递给函数的值.
可以从函数返回的值.
但我找不到关于二等价值或第三,第四,第五的任何定义.我相信如果存在第一,那么必须存在第二和第三......
什么是二等值?
我能找到一些这些价值观的例子吗?
(如果没有第二类值,那么业务类值怎么样?)
一般来说,一级乘客的待遇优先级较高.
第一类值是否具有更高优先级?如果是这样的编译器或运行时?
非常感谢你提前.
也许你太挑剔了.
第一类值是那些具有值的所有属性的值(因此函数是第一类,因为你可以在函数上执行与在整数上相同的事情:将它们作为参数传递,将它们存储在字段中等等).
有些语言有一些非一流的功能.例如,在Ocaml3(但不是今天的Ocaml4)模块中存在但不能用作值(您无法将模块作为参数传递).那时,模块不是一流的价值(你可以非正式地说模块是二等的!)
我从来没有听说过三等等......
顺便说一下,在许多语言中,甚至是功能语言,调用堆栈都不是第一类值(你经常无法检查它,例如询问调用者的调用者).甚至连续化(with call/cc
)的Scheme 也不能检查调用堆栈(但有些实现将此作为扩展).并且检查封闭内部的闭合值通常是不可能的....
"头等"应该作为单个形容词非正式地阅读(在这个意义上没有"类"的"基数集")
注意:我不是母语为英语的人,所以我无法理解所有英语语言的细微之处