【问题标题】:What is a function that takes no arguments called?什么是不带参数调用的函数?
【发布时间】:2011-08-13 22:56:16
【问题描述】:

有没有比“不带参数的函数”更简洁地描述不带参数的函数的术语? (与例如“高阶函数”的含义相同,即“将函数作为参数或返回函数的函数”)

我自然会想到“void”,但看到“void”也会想到副作用。我正在考虑的情况是在constantly的讨论中发现的那种情况:

What is this functional "pattern" called?

您可以创建一个不带参数、没有副作用但仍然可以做一些有趣的事情的闭包。

【问题讨论】:

    标签: language-agnostic functional-programming closures nomenclature


    【解决方案1】:

    一个空函数,通常是:http://en.wikipedia.org/wiki/Arity

    一个函数是否有副作用与它有多少参数是正交的,所以在一个没有函数有副作用的语言中,你不需要一个更具体的术语。在有副作用的语言中,我想你会称它为“无副作用”或“纯”空函数。

    然后通过(例如)记忆化,一个函数在逻辑上可以是纯的,即使你知道在幕后,它确实有副作用。

    【讨论】:

    • 哈!就像我在这里得到答案时经常出现的情况一样,我现在感觉自己像个傻瓜。当然,我知道“一元”、“二元”等,但没有建立联系。在这种情况下,stackoverflow 比 Google(我确实开始使用)要好得多!
    【解决方案2】:

    nullaryniladic 函数。

        

    【讨论】:

      【解决方案3】:

      一个Thunk?

      【讨论】:

      • 谢谢。我不知道“thunk”是这个的另一个名字。但“nullary”是我一直在寻找的通用术语。
      • 也就是说,我应该说我知道延迟计算方面的“thunk”,但不是“nullary”的同义词。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-29
      • 2015-08-04
      • 2020-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-12
      相关资源
      最近更新 更多