这都是关于方案及其输入系统的,让我们开始吧,我得到了这个输入,程序必须一直读到 eof。
]=> (getallinput)
22 (5(4(11(7()())(2()()))()) (8(13()())(4()(1()()))))
20 (5(4(11(7()())(2()()))()) (8(13()())(4()(1()()))))
这就是功能
(define (getAllinput)
(let ((port console-i/o-port))
(letrec ((nread (lambda (port)
(let ((value (read port)))
(let ((tree (read port)))
(display (findValor (sum tree) value))
(if (not (eof-object? port))
(nread port)))))))
(nread port))))
问题是,我在最终从控制台读取时遇到问题,而 letrec,我知道问题出在哪里,但我不知道如何解决它。
(if (not (eof-object? tree)) (nread port)))))))(nread port))))
它坚持来回读取输入,在此先感谢