Ich möchte von stdin Element für Element lesen, aber ich weiß nicht, wie man stoppt, wenn ich eine neue Zeile einfügen. Hier ist mein Code:Racket - lesen von stdin bis neue Zeile
(define readNext
(lambda (tmp)
(let ([a (read)])
(if (equal? a ??????)
tmp
(readNext (cons (read) tmp))))))
Sie können '(read-line)' verwenden, um eine einzelne Zeile zu lesen, dann füttern Sie diese mit 'open-input-string' in' read'. Ich denke nicht, dass es möglich ist, 'read' so zu konfigurieren, dass Zeilenumbrüche nicht wie bei anderen Whitespaces konsumiert werden, obwohl es vielleicht mit einer Lesetabelle möglich wäre. Ich bin mir nicht sicher, ob das tatsächlich funktionieren würde oder nicht. –
Es wird nur das erste Element gelesen. – zaig
Akkurat könnte es funktionieren – zaig