You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在任何Scheme标准中,(let (x y z) x)是否为合法代码?

Scheme中(let (x y z) x)是否符合标准?

这种写法完全不符合任何Scheme官方标准,你测试的所有Scheme实现报错都是符合规范的行为,具体原因如下:

  • 从R5RS到最新的R7RS,所有Scheme标准都明确规定:let的每个绑定项必须是一个二元列表,格式为(变量名 初始化表达式)。如果需要让变量初始化为nil,必须显式写成(x nil)、(y nil)、(z nil),不能仅用单个符号省略初始化部分。
  • Common Lisp和Emacs Lisp里的let支持省略初始化表达式的语法,默认将变量绑定到nil,这是这两种Lisp方言独有的语法糖,Scheme标准并未引入该特性。

内容的提问来源于stack exchange,提问作者J. Mini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 01:13:20