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)
上記のコードは、2 行目を l に読み込むことができません。代わりに、同じ値を2回読み取るだけです:-
scheme@(guile-user)> (load "test.scm")
line1
line2
line1
line1 に続いて line2 が入力として与えられると、 line2 の代わりに line1 が出力として表示されます。ここで何が起きてるの?