`
highsky
  • 浏览: 276222 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

关于first-class的问题

阅读更多

       去年在实习的时候,看电子版的《OReilly.Java.Enterprise.in.a.Nutshell.3rd.Edition.Nov.2005》时,对于其中讲hibernate的类映射(Class Mappings)问题的时候,提及的一个概念,first-class,迷惑不解。科班的教育根本没有向我提及这个词在计算机科学里的意义,纯粹的字面解释让人在上下文的语境中真的有点摸不清什么意思。

       So far, we've been working with what Hibernate calls "first-class" objects.

       其实这篇日志早已在去年8月16日写下,不过是在其他地方,现在觉得有必要转过来。

       下面的这个解释是别人查wikipedia然后留在blog上的,借用下来,看了之后应该再不晕了吧。

       First-class object 


       In computing, a first-class object (also -value, -entity, -citizen), in the context of a particular programming language, is an entity which can be used in programs without restriction (when compared to other kinds of objects in the same language). Depending on the language, this can imply: 

       being expressible as an anonymous literal value 
       being storable in variables 
       being storable in data structures 
       having an intrinsic identity (independent of any given name)
       being comparable for equality with other entities
       being passable as a parameter to a procedure/function 
       being returnable as the result of a procedure/function 
       being constructable at runtime 


       For example, in C, it is not possible to create new functions at runtime, whereas other kinds of object can be created at runtime. So functions in C are not first-class objects; sometimes they are called second-class objects because they can still be manipulated in most of the above fashions (via function pointers). Similarly, strings are not first class objects in FORTRAN 66 as it is not possible to assign them to variables, whereas numbers can be so assigned.

———————————————————————————————— 

       First-class function 


       In computer science, a programming language is said to support first-class functions if it treats functions as first-class objects. Specifically, this means that functions can be created during the execution of a program, stored in data structures, passed as arguments to other functions, and returned as the values of other functions.

分享到:
评论

相关推荐

    How to produce a first-class paper

    ”这个问题。这是构建论文结构的基础,每一部分都应围绕这个中心思想展开。这种思路被称为“红线”,即从引言到结论,读者跟随的逻辑主线。新奇且有吸引力的发现就是这条红线,它是撰写论文的全部目的。 避免过于...

    The-architect-first-class.zip_The First

    这份名为"The-architect-first-class.zip_The First"的压缩包文件,显然是一份专为那些渴望成为优秀架构师的人准备的学习资料。其中包含的"The architect first class.docx"文档,应该是详细讲述了架构师的成长路径...

    Mfirst-in-classM Optimizer 智能系统获FDA批准.pdf

    Mfirst-in-classM Optimizer 智能系统获FDA批准.pdf

    “first-in-class” Optimizer智能系统用于心力衰竭的治疗.pdf

    1. "first-in-class" Optimizer智能系统: Optimizer智能系统是由Impulse Dynamics公司开发的一款创新医疗器械,专门用于治疗中重度慢性心力衰竭患者。这款系统在美国FDA获得了“first-in-class”(首例)的认定,...

    Representing Control in the Presence of First-Class Continuations

    在计算机科学领域,特别是编程语言设计中,“Representing Control in the Presence of First-Class Continuations”这一论文探讨了一个核心问题:如何有效地处理那些将“延续”(Continuations)作为第一类数据对象...

    first-class-project

    在first-class-project中,我们可能看到使用CSS进行布局设计,如盒模型(margin、padding、border)、浮动(float)、定位(position),以及Flexbox或Grid布局。此外,也可能用到CSS选择器、伪类和伪元素,以及颜色...

    Element Table的row-class-name无效与动态高亮显示选中行背景色

    (1)参数row-class-name无效的坑:官方文档给出了如下代码:   但是我使用后并没有出现预初想要第一行高亮的效果,然后console.log(row, rowIndex),发现控制台输出的值均为undefined。最终解决方案是只要传入...

    利用 First Fit 和 Best fit 算法解决物流3D bin packing问题 Python实现

    在这个问题中,First Fit 和 Best Fit 是两种常用的启发式算法,它们在Python中可以被有效地实现。 First Fit算法是一种直观的方法。该算法的工作原理是,对于每一个待装入的3D物体,尝试将其放入当前尚未装满的第...

    EF-Code-First-MySQL-Autofac-MVC5

    在给定的“EF-Code-First-MySQL-Autofac-MVC5”项目中,我们主要关注的是如何使用Entity Framework 6 (EF6)的Code First方法来连接MySQL数据库,并结合Autofac依赖注入容器进行操作。 首先,Entity Framework Code ...

    新编英语教程-3-Unit-1-My-first-job.doc

    Anything interesting/special to share with the whole class? * How many of you hold a part-time job? Can you tell us your experience of getting the first job? Were you interviewed by the child’s ...

    CSS3的first-child选择器实战攻略

    另一个常见的兼容性解决方案是为需要应用样式的元素添加一个类(class),然后通过类选择器来设置样式。这样做的好处是兼容性好,即使在动态生成的列表中,也不需要每次都进行判断。 #### 3. 结构与类型的区分 ...

    first-class-patterns:一流的模式和模式匹配,使用类型族

    在这个“first-class-patterns”项目中,我们探讨的主题是将模式提升到“第一类公民”的地位,这意味着模式可以像其他值一样被处理、存储和传递。 首先,让我们深入了解Haskell中的模式匹配。在Haskell中,模式匹配...

    django-master-class

    The idea is to first write a failing test, then write the necessary code to pass the test, and finally refactor the code to improve its design and quality. TDD encourages a more structured approach ...

    java-first-class-encapsulation:此项目显示了封装如何在Java中工作以及如何使用它

    在这个名为"java-first-class-encapsulation"的项目中,我们将深入探讨Java中的封装特性。 首先,让我们理解什么是类。在Java中,类是一种模板或者蓝图,用于创建具有特定属性(字段)和行为(方法)的对象。封装...

    phase-1-first-class-functions

    一流的功能学习目标定义“一流的功能” 使用内联函数使用函数作为返回值介绍在生活中的某些时候,我们需要迈出第一步。 由于生活的脚本编写不像真人秀一样,因此在第一步之后一切都可能发生。 我们需要能够进行相应...

    javascript-first-class-functions-cb-gh-000

    一流的功能学习目标练习编写内联函数练习编写用作回调的函数解释什么是“一流的功能”介绍在生活中的某些时候,我们需要迈出第一步。 由于生活的脚本编写不像真人秀一样,因此在第一步之后一切都可能发生。...

    js-advanced-first-class-functions-practice-lab-dumbo-web-060418

    确保运行测试以了解本实验室要求您解决的问题类型。 您将编写六个函数: logDriverNames() —接收driver对象数组,并将每个driver的name属性记录到控制台。 logDriversByHometown() —接收driver对象数组作为第一...

    Visual_Identity_System_Chinese_University:中国双一流大学视觉形象识别系统(Visual Identity System of Chinese Double First-Class University)

    中国双一流大学视觉形象识别系统网址集合Visual Identity System of Chinese Double First-Class University websites视觉形象识别系统(Visual Identity System of Chinese University, VIS) 是由代表学校视觉形象的...

    js-advanced-functions-first-class-functions-lab-nyc-web-042318

    一流的功能实验室目标调用分配给变量的函数。 调用存储在数据结构中的函数。 编写返回其他功能的功能。 将一个函数传递给另一个函数。 调用另一个函数返回的函数。介绍函数是JavaScript的重要组成部分,您将一直使用...

Global site tag (gtag.js) - Google Analytics