Kann mir jemand erklären, was dieser Code macht und wie er funktioniert?Common LISP Code Erklärung
Antwort
Ein kurzer Durchlauf durch den Code zeigt, dass es sich um eine Funktion handelt, die die größte Zahl mit zwei Zahlen oder einer Liste von Zahlen zurückgibt. Es gibt nil zurück, wenn ein Atom angegeben wurde, und ein Fehler, wenn eines der Elemente der Liste keine Zahl ist. hier sind einige der Ergebnisse, die ich habe: CL-USER> (f '(1 2 3 4)) 4 CL-USER> (f '(1 5 2 4)) 5 CL-USER> (f '(1 5 2 4 7)) 7 CL-USER> (f 'y) NIL CL-USER> (f 3 'y) Y
Eine Art Fehler aufkommt, wenn ein nicht-numerische in der Liste enthalten ist: CL-USER> (f '(1 x 2 4 7))
gibt dem folgenden Fehler Den Wert X ist nicht vom Typ NUMBER beim Binden SB-KERNEL :: X [Zustand des Typs TYPE-ERROR]
Wie funktioniert es? Die Funktion vergleicht Zahlen in einer Liste, den ersten Parameter und eine Zahl, zweiten Parameter und gibt die größte von allen zurück. Dies geschieht durch rekursives Vergleichen der ersten zwei Nummern der Liste, die die größere Zahl, die sie vergleicht, mit dem Rest der Liste liefert.
- 1. (komponieren) in Common Lisp
- 2. Klassenintrospektion in Common Lisp
- 3. Statistikpakete für Common Lisp
- 4. Vereinigung in Common Lisp
- 5. Common Lisp `Format` Implementierung
- 6. Common Lisp-Übungen/Probleme
- 7. Common Lisp Timer
- 8. Webentwicklung in Common Lisp
- 9. Common Lisp Programmatic Schlüsselwort
- 10. Best Common Lisp IDE
- 11. Auswechslungen in Common Lisp
- 12. Matrix Transpose Common Lisp
- 13. Erklärung eines Lisp-Codes
- 14. Common Lisp entspricht C enums
- 15. Common Lisp: Was bedeutet # + null?
- 16. Common Lisp Lambda Ausdruck Fehler
- 17. Probleme mit ltk (common lisp)
- 18. Common Lisp Fehler nicht verstanden
- 19. Reset-Zustand in Common Lisp
- 20. Funktion Persistenz in Common Lisp
- 21. Listen in Common Lisp transponieren
- 22. Integer-Teilung in Common Lisp?
- 23. Matrix-Multiplikation in Common Lisp
- 24. Common Lisp: Flush Standard-Ausgabe
- 25. Typspezifizierer in Common Lisp verstehen
- 26. Alias-Paketnamen in Common Lisp
- 27. Bäume in Common Lisp zeichnen
- 28. Common Lisp-Typ gegen Klassenunterschiede
- 29. Common LISP auf iPhone/iOS
- 30. Konvertieren von Code aus Common Lisp in Schema
Wenn Sie die Sprache nicht verstehen, sollten Sie darüber lesen, lernen Sie es Grammatik. Dies ist nicht der richtige Ort für diese Art von Fragen – gmoshkin
Was hast du im Code verstanden? – coredump
Sie können die ['STEP'] (http://clhs.lisp.se/Body/m_step.htm) oder [' TRACE'] (http://clhs.lisp.se/Body/m_tracec.htm) verwenden um zu sehen, wie eine Funktion funktioniert. – Barmar