Was ist eine Funktion, die keine Argumente nimmt?
-
24-10-2019 - |
Frage
Gibt es einen Begriff, der eine Funktion beschreibt, die keine Argumente genauer annimmt als "Funktion, die keine Argumente nimmt"? (Auf die gleiche Weise, wie z. B. "Funktion höherer Ordnung" bedeutet "Funktion, die Funktionen als Argumente oder zurückgibt eine Funktion"))
Ich denke natürlich an "Leere", aber ich denke auch an Nebenwirkungen, wenn ich "leer" sehe. Die Situation, an die ich denke, ist die Art, die in dieser Diskussion zu finden ist constantly
:
Wie heißt dieses funktionale "Muster"?
Wo Sie möglicherweise einen Schließ erzeugen, der keine Argumente nimmt, hat keine Nebenwirkungen, tut aber immer noch etwas Interessantes.
Lösung
Eine nulläre Funktion, normalerweise: http://en.wikipedia.org/wiki/arity
Ob eine Funktion Nebenwirkungen hat, ist orthogonal, wie viele Argumente sie hat. In einer Sprache, in der keine Funktion jemals Nebenwirkungen hat, benötigen Sie keinen spezifischeren Begriff. In Sprachen mit Nebenwirkungen nennen Sie es eine "seitlich effektfreie" oder "reine" nulläre Funktion.
Und dann kann eine Funktion mit (zum Beispiel) eine Funktion logisch rein sein, obwohl Sie wissen, dass hinter den Kulissen Nebenwirkungen haben.
Andere Tipps
EIN Nullary oder Niladic Funktion.
EIN Thunk?