Ich bin neu in Scala und funktionale Programmierung im Allgemeinen. Also hier sind meine Zweifel.Was ist der geeignete Rückgabewert, wenn das Muster mit Nil übereinstimmt und wir Nil zurückgeben wollen?
In einer Funktion mit Pattern-Matching, wenn case Nil
abgestimmt ist, und wir wollen Nil
zurückkehren, sollten wir zurückkehren Nil
oder der Datentyp selbst? Zum Beispiel
def drop[A](l: List[A], n: Int): List[A] = {
if (n <= 0) l
else l match {
case Nil => Nil
case Cons(_, t) => drop(t, n - 1)
}
}
Dies ist eine Funktion, die die ersten n
Kopfelemente aus einer einfach verketteten Liste fällt. Hier, für den ersten Fall, sollte ich Nil
(vielleicht als eine gute Praxis) zurückgeben oder sollte ich l
zurückgeben (weil es dann müssen wir nicht das Objekt Nil
konstruieren)?
Danke! Das macht Sinn. – aa8y