s n h m r u
i

Fachkonzept: Definitionen und Unveränderlichkeit

Definitionen in Racket

In Racket ist es möglich Programmierelemente (z.B. Daten, Ausdrücke oder Funktionen) einen Namen zuzuordnen. Der Name kann anstelle des definierten Elements verwendet werden.

Mit einer Definition ordnet man Daten, Ausdrücken oder Funktionen einen Definitionsnamen zu. Dieser kann anstelle des definierten Elements genutzt werden. Eine Definition ist immer eindeutig und unveränderlich.
Eine Definition in Racket wird mit dem Schlüsselwort define gesetzt:
(define Definitionsname zu-definierendes-Element)

Eine Definition kann sowohl innerhalb, als auch außerhalb eines Funktionskörpers erfolgen.

Eine lokale Definition ist eine Definition die innerhalb eines Funktionskörpers gesetzt wird. Eine lokale Definition kann nur innerhalb der Funktion genutzt werden. Eine Definition die nicht lokal ist nennen wir eine globale Definition. Wenn der Definitionsname einer lokalen und globalen Definition identisch ist, wird die lokale Definition genutzt.

Beispiel

(define globaleDefinition 10)

(define globalerFunktionsname
  (lambda (x)
    (define lokaleDefinition 20)  
        (* (+ x lokaleDefinition) globaleDefinition)    
))

Unveränderlichkeit in der funktionalen Programmierung

In funktionalen Programmiersprachen sind sämtliche Daten unveränderlich. Das bedeutet auch, dass es keine klassischen Variablen, wie in anderen Programmierparadigmen gibt.

Die Unveränderlichkeit (Immutability) ist eine zentrale Eigenschaft funktionaler Programmiersprachen.
Unveränderlichkeit bedeutet, dass bestehende Daten nicht verändert werden können, sondern bei Änderungen neue Daten erzeugt werden.

Suche

v
100.137.3.2.1.5 Fachkonzept: Definitionen und Unveränderlichkeit
Kopieren durch Anklicken

Rückmeldung geben