2016-06-16 3 views

ответ

1

Chez Scheme является реализацией R6RS. Используйте R6RS get-line вместо R7RS read-line.

0

У меня есть read-line в моей стандартной прелюдии; она обрабатывает конец-строки в качестве возврата каретки, перевод строки или как в любом порядке:

(define (read-line . port) 
    (define (eat p c) 
    (if (and (not (eof-object? (peek-char p))) 
      (char=? (peek-char p) c)) 
     (read-char p))) 
    (let ((p (if (null? port) (current-input-port) (car port)))) 
    (let loop ((c (read-char p)) (line '())) 
     (cond ((eof-object? c) (if (null? line) c (list->string (reverse line)))) 
      ((char=? #\newline c) (eat p #\return) (list->string (reverse line))) 
      ((char=? #\return c) (eat p #\newline) (list->string (reverse line))) 
      (else (loop (read-char p) (cons c line))))))) 
Смежные вопросы