gpt4 book ai didi

Lisp:2 和 (2) 之间的区别

转载 作者:太空宇宙 更新时间:2023-11-03 18:51:36 25 4
gpt4 key购买 nike

我刚开始学习 lisp,我有点困惑为什么编译器不计算括号中的简单整数为该整数的值。

在 REPL 中,当我执行 (+ 3 2) 时,我得到 5,但是当我执行 (+ 3 (2)) 我得到一个错误,而我认为表达式 (2) 的值也应该是 2。显然这里有一些重要的东西我无法触及 - 2(2) 之间有什么区别?任何帮助将不胜感激,因为这似乎是 lisp 工作方式的基础。

最佳答案

此处指定列表形式支持的 Common Lisp 语法:CLHS 部分 3.1.2.1.2 Conses as Forms .

有四种支持的列表类型:

  1. 特殊形式,如 (quote foo)
  2. 宏形式如 (defun foo (a1 a1) (+ a1 a2))
  3. 函数形式如 (+ 1 2)
  4. lambda 形式如 ((lambda (a) (+ a 1)) 2)

就是这样。其他列表无法在 Common Lisp 中求值。

关于Lisp:2 和 (2) 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41922711/

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