Imperative Objekte

vred.bioinf.uni.sb.de

Imperative Objekte

Programmierung 1 - Repetitorium

13.2 Prozeduren mit Zustand

counter : unit -> int

counter soll mitzählen, wie oft sie aufgerufen wurde und bei ihrem n-ten Aufruf

die Zahl n liefern.

val r = ref 0

fun counter () = (r:=!r+1; !r)

counter ist eine Prozedur mit Zustand.

counter kann seinen Zustand auch enkapsulieren :

val counter =

let val r = ref 0

in fn () => (r:=!r+1; !r) end

fun newCounter i =

let val r = ref (i-1)

in fn () => (r:=!r+1; !r) end

newCounter ist ein Generator für Zählprozeduren mit beliebig vorgegebenem

Anfangswert.

Weitere Magazine dieses Users
Ähnliche Magazine