Mit Emacs/Geiser mit Racket (nicht DrRacket), wie könnte ich einen Haltepunkt setzen und dann den Code durchlaufen, Haltepunkt (e) anhalten? Zum Beispiel habe ich diesen Code bekam:Haltepunkt in Racket setzen?
(define (powerset4 lst)
(if (null? lst)
'(())
(append-map (lambda (x)
(begin
(fprintf (current-output-port) "~s ~s ~s\n" x lst x)
(list x (cons (car lst) x))))
(powerset4 (cdr lst)))))
und ich möchte in der begin
Sequenz stoppen, um zu sehen, was passiert und was die Werte sind. Es wäre auch nett, sich nicht auf ye 'printf
Tricks zu verlassen, d. H., Bestimmte Parameter auch zu verfolgen. Ich bin wieder in Emacs und benutze Geiser. Eigentlich würde ich zu Guile oder Chicken (Geiser Sprachen) wechseln, wenn ich das besser mit ihnen machen könnte.
Das Setzen von Breakpoints, Stepping usw. ist Funktionalität, die normalerweise einem Debugger oder einer IDE und nicht einer Sprache zugeordnet ist. Für '#langracket' ist der Standard-Debugger in DrRacket integriert. Ther ist ein 'debug' Modul [https://docs.racket-lang.org/debug/index.html?q=debug#%28mod-path._debug%29] und eine unstable Bibliothek [https: // docs. racket-lang.org/unstable/Debugging.html?q=debug#%28form._%28%28lib._unstable%2Fdebug..rkt%29._debug%29%29], das als Teil eines Racket-Sprachprogramms verwendet werden kann. Diese sind möglicherweise besser zu managen als "Drucken". –
@ 147pm Verwenden Sie den grafischen Debugger in DrRacket, um Haltepunkte zu erhalten. http://docs.racket-lang.org/drracket/debugger.html – soegaard
Die Frage speziell für nicht DrRacket gefragt. –