Planen:Erkennen doppelter Elemente in einer Liste
-
24-09-2019 - |
Frage
Verfügt R6RS oder Chez Scheme v7.9.4 über eine Bibliotheksfunktion, um zu prüfen, ob eine Liste doppelte Elemente enthält?
Verfügen Sie alternativ über eine integrierte Funktionalität für Sets (die doppelte Elemente nicht zulassen)?Bisher konnte ich nur ein Beispiel finden Hier.
Das Problem dabei ist, dass es nicht wirklich Teil der Chez Scheme-Bibliothek zu sein scheint.obwohl ich könnte Wenn ich meine eigene Version davon schreibe, würde ich viel lieber eine bekannte, getestete und gepflegte Bibliotheksfunktion verwenden – vor allem, wenn man bedenkt, wie einfach diese Operation ist.
Ein einfaches „Diese integrierten Funktionen verwenden“ oder „Keine integrierte Bibliothek implementiert dies“ reicht also aus.Danke!
Lösung
SRFI 1 verfügt über eine Listenverarbeitung delete-duplicates
Funktion (Sie können das also verwenden und anschließend die Länge überprüfen) und möglicherweise auch andere Funktionen haben, die Sie möglicherweise nützlich finden.
Andere Tipps
Kyle,
Vor einiger Zeit musste ich ein paar SRFIs mit Chez -Schema verwenden. Einige, die ein für den Einsatz mit dem Chez-Schema (einschließlich SRFI-1) konvertierter Gebrauch haben, sind bei:
http://github.com/dharmatech/chez-srfi
Nachdem Sie Ihren Chezschemelibdirs den Weg zu "Chez-Srfi" hinzugefügt haben, können Sie SRFI-1 importieren:
(Import (SRFI: 1))
Ed