是否有一个术语描述的函数比“不带参数的函数”更简洁地不带参数? (例如,“高阶函数”的意思是“将函数作为参数或返回函数的函数”)
我自然会想到“无效”,但当我看到“无效”时,我也会想到副作用。我正在考虑的情况是在constantly
:
What is this functional "pattern" called?
你可以创建一个不带参数的闭包,没有副作用,但仍然做一些有趣的事情。
答案 0 :(得分:19)
Nullary函数,通常为:http://en.wikipedia.org/wiki/Arity
一个函数是否有副作用与它有多少个参数是正交的,所以在一个没有函数的语言中,你不需要更具体的术语。在有副作用的语言中,我认为你称之为“无副作用”或“纯粹”的无效功能。
然后通过(例如)memoization,一个函数可以在逻辑上纯粹,即使你知道在幕后,它确实有副作用。
答案 1 :(得分:6)
nullary 或 niladic 功能。
答案 2 :(得分:4)
A Thunk?