10

是否有一個術語描述的函數不比「沒有參數的函數」更簡潔? (就像「高階函數」的意思是「函數作爲參數或函數返回的函數」一樣)什麼是不需要參數調用的函數?

我自然會想到「void」,但是當我看到「void 」。我想的情況是在constantly討論中發現的排序:

What is this functional "pattern" called?

在那裏你可以創建一個閉合不帶任何參數,沒有任何副作用,但仍然沒有一些有趣的事情。

回答

16

一個無參函數,通常是:http://en.wikipedia.org/wiki/Arity

無論是功能有副作用垂直於有多少爭論了,所以在沒有函數曾經有副作用的語言,你不需要更具體的術語。在有副作用的語言中,我想你會稱之爲「無副作用」或「純粹」無效函數。

然後用(例如)memoization,一個函數可以在邏輯上是純的,即使你知道在幕後,它確實有副作用。

+0

哈!當我在這裏得到答案時,往往會出現這種情況,現在我覺得自己就像個傻子。我知道「一元」,「二元」等,但沒有聯繫。對於像這樣的情況,stackoverflow比Google(我確實開始)要好得多! – jtolle 2011-04-27 15:27:07

3

無參譯註:功能。

       

+0

也謝謝。我從來沒有聽說過「尼拉」這個詞。 – jtolle 2011-04-27 15:30:14

4

一個Thunk?

+0

謝謝。我不知道「thunk」是另一個名字。但是「空洞」是我一直在尋找的一個總稱。 – jtolle 2011-04-27 15:28:22

+0

也就是說,我應該說我在延遲計算方面知道「thunk」,但不是「空」的同義詞。 – jtolle 2011-04-27 15:33:51

相關問題