io - 如何使用Scheme中的read函数?我知道它在语法上是如何工作的,但控制台不允许我输入值

标签 io scheme interpreter

我想我对Scheme如何处理用户输入感到困惑。我只想从用户在脚本运行时输入的控制台读取一些值。例如,如果我想将用户的值添加到 3,我的印象是我可以使用:

(+ 3 (read))

我还可以将其包含在显示函数中以查看输出。这是我所期望的,但是当我尝试这样做时,它只等待控制台中的下一个代码。我正在尝试使用 biwascheme.org 和 ideone.com 作为解释器。

所以,我希望找到强制控制台等待用户输入然后将其放入(读取)位置的非常基本的方法。怎么办?

最佳答案

您需要使用实际支持从标准输入读取的运行时。大多数基于 Web 的运行时可能不支持这一点(尽管 Ideone 似乎允许您提前指定标准输入内容(不是交互式),请参阅 example )。

您应该安装Racket 。每当调用 read 时,DrRacket 程序实际上都会给您一个很好的提示。

关于io - 如何使用Scheme中的read函数?我知道它在语法上是如何工作的,但控制台不允许我输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16138914/

相关文章:

c++ - 内联汇编,输出指令

c++ - 解释器的良好优化

macos - 用户级别的 Haskell

rust - 使用 std::fs::write 将 Vec<String> 写入文件

java - 分布式文本编辑器 : multiple users editing a text file concurrently

multithreading - Scala 中的异步 IO 与 future

lisp - Scriptfu 没有以正确的顺序执行,为什么?

scheme - 计划和 Racket 中的案例和报价

lisp - 看到的scheme函数是ends match

compiler-construction - 为什么在实践中解释器比编译器要慢?