我正在尝试在 Scheme 中实现我自己的减法函数。我必须使用 apply 方法将减法应用于用户的输入。问题是,用户输入必须介于 ()、[] 或 {} 之间(我正在为一种小语言编写一个小型解释器)。我的代码已经很好地管理了左括号,但我的问题是其余部分使用 apply 方法。我只需要读取右括号之前输入的数据。有没有办法读取输入并在分隔符“)”、“]”或“{}”处停止。即使您可以仅用一个分隔符引导我朝着正确的方向前进,我也可以让其余的工作正常进行。
这是我正在尝试做的事情:
(define subt (lambda (x)
(apply - (read-line))))
但我希望它在右括号处停止阅读。