Что такое функция, которая не вызывает аргументов? - PullRequest
13 голосов
/ 27 апреля 2011

Существует ли термин, который описывает функцию, которая не принимает аргументов более кратко, чем "функция, которая не принимает аргументов"? (Точно так же, как, например, «функция более высокого порядка» означает «функцию, которая принимает функции в качестве аргументов или возвращает функцию»)

Я, естественно, думаю о «пустоте», но я также думаю о побочных эффектах, когда вижу «пустоту». Ситуация, о которой я думаю, - это то, что можно найти в этом обсуждении constantly:

Как называется этот функциональный "шаблон"?

, где вы можете создать замыкание, которое не принимает аргументов, не имеет побочных эффектов, но все же делает что-то интересное.

Ответы [ 3 ]

19 голосов
/ 27 апреля 2011

Нулевая функция, обычно: http://en.wikipedia.org/wiki/Arity

Наличие у функции побочных эффектов ортогонально тому, сколько аргументов у нее есть, поэтому в языке, где ни одна функция не имеет побочных эффектов, вы неМне нужен более конкретный термин.В языках с побочными эффектами, я полагаю, вы бы назвали это «без побочных эффектов» или «чистой» нулевой функцией.

И затем, с помощью (например) запоминания, функция может быть логически чистойдаже если вы знаете, что за кадром у него есть побочные эффекты.

6 голосов
/ 27 апреля 2011

A ноль или нильадик функция.

4 голосов
/ 27 апреля 2011
...