1 (use-modules (ice-9 rdelim))
2
3 (define (show l) (display l))
4
5 (define (read-two-lines)
6 (let ((count (read-line))
7 (l (read-line)))
8 (show l))) ; or (show count)
9
10 (read-two-lines)
Приведенный выше код не может прочитать вторую строку в l. Вместо этого он просто дважды считывает одно и то же значение: -
scheme@(guile-user)> (load "test.scm")
line1
line2
line1
Когда в качестве входных данных задается строка1, за которой следует строка2, в качестве вывода отображается строка1, а не строка2. Что здесь происходит?