gpt4 book ai didi

scheme - 在 Scheme 中获取一行用户输入?

转载 作者:行者123 更新时间:2023-12-05 00:06:27 25 4
gpt4 key购买 nike

我知道您可以使用 (read) 来获取用户输入的表达式,但是 (read) 只会获取第一个表达式,然后对任何内容进行评估。我想知道是否有任何方法可以读取整行用户输入,也许将所述行转换为列表?

(let ((input (read-user-line)))
;; user could type "cons 2 3" without quotes
;; input could contain '(cons 2 3)
(apply (car input) (cdr input)))

谢谢!

最佳答案

如果您的 Scheme 是 R6RS 实现,则可以使用 GET-LINE。如果同一个 Scheme 也实现了 SRFI-13,您可以使用 STRING-TOKENIZE 将其转换为列表。

一种符合条件的方案是 Ypsilon:

(进口(srfi srfi-13))

(让((输入(获取线(当前输入端口))))
(for-each (lambda (x) (display x) (newline))
(字符串标记输入)))

$ ypsilon try.scm
敏捷的棕色狐狸跳过了懒狗。

快的
棕色的
狐狸
跳跃
超过

懒惰的
狗。

否则,您将独自使用您的实现提供的任何非标准扩展。

关于scheme - 在 Scheme 中获取一行用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3173327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com