675 Stimmen

Wie kann eine Zeitfunktion in der funktionalen Programmierung existieren?

Ich muss zugeben, dass ich nicht viel über funktionale Programmierung weiß. Ich habe hier und da darüber gelesen, und so erfuhr ich, dass bei der funktionalen Programmierung eine Funktion für dieselbe Eingabe dieselbe Ausgabe liefert, egal wie oft die Funktion aufgerufen wird. Es ist genau wie eine mathematische Funktion, die für den gleichen Wert der Eingabeparameter, die in den Funktionsausdruck einfließen, die gleiche Ausgabe liefert.

Denken Sie zum Beispiel an Folgendes:

f(x,y) = x*x + y; // It is a mathematical function

Ganz gleich, wie oft Sie die f(10,4) ist sein Wert immer 104 . So können Sie überall dort, wo Sie geschrieben haben f(10,4) können Sie ihn ersetzen durch 104 , ohne den Wert des gesamten Ausdrucks zu verändern. Diese Eigenschaft wird bezeichnet als referentielle Transparenz eines Ausdrucks.

Wie Wikipedia sagt ( Link ),

In funktionalem Code hingegen hängt der Ausgabewert einer Funktion nur von den Argumenten ab, die in die Funktion eingegeben werden, so dass der zweimalige Aufruf einer Funktion f mit dem gleichen Wert für ein Argument x beide Male das gleiche Ergebnis f(x) liefert.

Kann eine Zeitfunktion (die die aktuell Zeit) in der funktionalen Programmierung gibt?

  • Wenn ja, wie kann sie dann existieren? Verstößt sie nicht gegen das Prinzip der funktionalen Programmierung? Sie verstößt insbesondere gegen referentielle Transparenz was eine der Eigenschaften der funktionalen Programmierung ist (wenn ich es richtig verstehe).

  • Oder wenn nein, wie kann man dann in der funktionalen Programmierung die aktuelle Zeit kennen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X