2017-01-14 162 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)。我讀了這篇文章,然後發現了這個小塊:

    在這種類型的例程中,每次調用子例程時都會執行一系列操作。

    顯然,當時的時代精神分析學家把它稱爲子例程的行動。附註:他們還談到了從子程序到主程序的控制。

    相關問題