Hallo,
ich schau mir gerade ein Scala-Tutorial an bei dem natürliche Zahlen als Klassen implementiert wurden. Es wird auch Gebrauch von Rekursion gemacht. Allerdings verstehe ich da die rekursive Methode "+" in der Klasse "Succ" nicht:
Wo ist da die Abbruchbedingung? Ist das keine Endlosschleife?
Als erstes wird doch versucht "n + that" aufzulösen, was doch wiederum nicht anderes als "new Succ(n + that)" ist, wo dann wieder versucht wird als erstes "n + that" aufzulösen usw. usf.
Irgendwo muss ich nen Denkfehler haben, aber wo?
Danke im Voraus!
L. G.
Reality
ich schau mir gerade ein Scala-Tutorial an bei dem natürliche Zahlen als Klassen implementiert wurden. Es wird auch Gebrauch von Rekursion gemacht. Allerdings verstehe ich da die rekursive Methode "+" in der Klasse "Succ" nicht:
Java:
def +(that: Nat) = new Succ(n + that)
Wo ist da die Abbruchbedingung? Ist das keine Endlosschleife?
Als erstes wird doch versucht "n + that" aufzulösen, was doch wiederum nicht anderes als "new Succ(n + that)" ist, wo dann wieder versucht wird als erstes "n + that" aufzulösen usw. usf.
Irgendwo muss ich nen Denkfehler haben, aber wo?
Danke im Voraus!
L. G.
Reality