Scheme 如何在mit计划中正确使用(阅读)?

Scheme 如何在mit计划中正确使用(阅读)?,scheme,mit-scheme,Scheme,Mit Scheme,我在文档和rosetta代码中读到,(read)用于从控制台获取输入。所以我写了这段代码来检查这一点: (display (+ (read) 1)) 但mit方案从不要求用户输入,程序只是终止。为什么会这样?在REPL中,(display(+(read)1))按预期工作 当(display(+(read)1))放在源文件中,并且该文件作为脚本使用mit scheme--quiet

我在文档和rosetta代码中读到,
(read)
用于从控制台获取输入。所以我写了这段代码来检查这一点:

(display (+ (read) 1))
但mit方案从不要求用户输入,程序只是终止。为什么会这样?

在REPL中,
(display(+(read)1))
按预期工作

(display(+(read)1))
放在源文件中,并且该文件作为脚本使用
mit scheme--quiet
()运行时,mit scheme从不要求用户输入,程序只是终止。为什么?

要查看原因,请将其放在源文件中:

(define n (read))
2
(display (+ n 1))
您得到了预期的
3


这都是由shell输入重定向引起的(即,
您能说明如何运行代码吗?您是否直接在REPL中键入代码?代码是否在文件中?您是如何运行该文件的?