2017-01-14 177 views
-1

我知道函数调用是什么。我知道它做了什么。我已经调试了很多。我确实有一些为什么它使用术语“函数调用”是有道理的,但是当它归结为它时,我不能像我可以用return声明那样正确地解释它。为什么函数调用称为“函数调用”?

例如,对于return声明,答案是:它被称为“返回”,因为您返回到您来自的地方。您返回到函数被调用的那一行。因此,为什么函数的结束(隐式或显式)返回是有意义的。

我注意到,对于讲英语作为母语的人来说,这很容易理解(尤其是对于像“缓存”这样更加晦涩的单词)。然而,对于像我这样的人(荷兰人,通过电子游戏和字幕电视学习英语)来说,这很难掌握。

我在这个问题上搜索了一下,但是我得到了各种各样的条目是什么函数调用以及它是如何工作的。我用电话联系了“电话”这个词,因为那是我主要用英语来使用它的。

我问过类似的问题,关于什么是“去”是指在单词“解引用”在这里:What does the de- prefix in dereference mean? Is there a linguistic explanation for it?

+1

跨站点排序重复但不完全:https://softwareengineering.stackexchange.com/questions/253694/where-did-the-notion-of-calling-a-function-come-from – hvd

+1

以汇编术语来说,如果你想简单地把程序流到那里,你可以跳到子程序。你*调用一个子程序来暗示这个改变是暂时的,并且你打算让这个流程返回给你。 –

+0

为什么downvote?我解释了我做了什么,我怎么找不到,以及我已经知道的。我尽量保持建设性。它甚至在软件工程堆栈交换站点上有17点(谢谢@ hvd的链接!)。 hvd:感谢您的链接,链接确实回答我的问题。所以我觉得它也是一种重复,SO建议引擎没有提到。所以在SO上有一个小的交叉参考是有用的吗?我会这样想,因为它有助于Google的问题。并感谢Theodoros在跳转和呼叫之间的区别。 –

回答

3

该术语致电具有广泛的含义。当在中调用函数时,您可能最好将其解释为调用执行函数的的缩写。看到由Free Dictionary给出的含义如下:

  • 要订购或请求进行特定活动或工作;传唤:
    她被要求担任陪审员职务。他被召到祭司职位。
  • 这是非常接近在意义上用于调用功能的另一表达:呼叫函数

    这应该在函数的上下文中有意义。该功能提供了一项服务,现在它被要求提供服务。在这两种情况下,含义是:请求执行函数中的代码

    注意:在荷兰,你可以用oproepen或(较少见)aanroepen翻译。

    +0

    荷兰人的“Aanroepen”感觉 - 不幸 - 对我来说有点过时,因为我在日常的演讲中并没有使用过它(而编程的感觉就像是从每天的演讲中获得的)。因此我无法理解它。 –

    +0

    确实,* oproepen *是荷兰语中较为常见的动词(我在脚注末尾纠正了一个错误)。其他荷兰人的替代方案来理解* call *(* roepen *)是如何参与意义的:inroepen,beroep doen op。无论如何,用英语我觉得说*调用函数*更好。但是* call *会留在将来,因为它被用于衍生术语,如* call stack *。 – trincot

    0

    感谢@hvj我注意到的真正相关的意见 - 虽然不一样!因为我想知道它在语言上不是历史性的 - 问题引用了付费墙背后的一篇论文(参见http://dl.acm.org/citation.cfm?id=609816&CFID=888670230&CFTOKEN=46456506)。我读了这篇文章,然后发现了这个小块:

    在这种类型的例程中,每次调用子例程时都会执行一系列操作。

    显然,当时的时代精神分析学家把它称为子例程的行动。附注:他们还谈到了从子程序到主程序的控制。

    相关问题