Ich habe lange versucht, den Fehler zu finden, ich mache eine Programmiersprache und habe den nächsten Code, mit ragg, ich habe eine Syntax-Objekt (resto ...), was eine Klammer als Daten hat, verwandeln ich dieses Syntax-Objekt zu einem Datum:LISP-Klausel für und Klausel lassen? Warum ?, Erstellen einer Programmiersprache in Schläger mit Ragg
(let ([i (syntax->datum #'(resto ...))])
(display "Content i:")
(display i)
(if (eq? i (string->symbol "(})"))
(display "true")
(display "false")
)
)
und der Ausgang ist:
Content: (})
false
Aber wenn ich dies tun
(for ([i (syntax->datum #'(resto ...))])
(displayln "Content:")
(displayln i)
(if (eq? i (string->symbol "}"))
(display "true")
(display "false")
)
)
und der Ausgang ist:
Content: }
true
meine Frage: ¿WARUM DIE WENN KLAUSEL LET IST FALSCH? ¿WIE KANN ICH DIESE ZWEI TYPEN VERGLEICHEN UND DASS DAS ERGEBNIS WAHR OHNE DAS IST?
Dokumentation über Funktionen:
Vielleicht sollten Sie ein Beispiel der Eingabe, die Sie analysieren möchten, enthalten, ich habe das Gefühl, dass Sie das komplizierter als nötig tun. –