gpt4 book ai didi

lisp - 这些 LISP 表达式如何评估所提供的答案?

转载 作者:太空宇宙 更新时间:2023-11-03 19:01:33 27 4
gpt4 key购买 nike

现在,仅通过查看问题和变量 LX,我或多或少可以至少看到这些答案是如何实现的.

但这次我想一步一步地了解这些答案是如何产生的。我的教授非常糟糕,无法为他的生活解释任何事情。

L = (D B B A A A A C)
X = ((2B) (4A) (1C))

Q1) (cons (list (+ (caar X) 1) (cadar X)) (cdr X))
Answer: ((3B) (4A) (1C))

Q2) (cons (list 1 (car L)) X)
Answer: ((1D) (2B) (4A) (1C))

最佳答案

您确定在 X 的定义中没有遗漏空格吗?看起来,应该这样定义:

X = ((2 B) (4 A) (1 C))

计算是这样的:

;;; Setup.
(defvar L '(D B B A A A A C))
(defvar X '((2 B) (4 A) (1 C)))

;;; Q1:
(cons (list (+ (caar X) 1) (cadar X)) (cdr X))
;;; ^^^^^^^^
;;; (caar X) = 2
(cons (list (+ 2 1) (cadar X)) (cdr X))
;;; ^^^^^^^
;;; (+ 2 1) = 3
(cons (list 3 (cadar X)) (cdr X))
;;; ^^^^^^^^^
;;; (cadar X) = B
(cons (list 3 'B) (cdr X))
;;; ^^^^^^^^^^^
;;; (list 3 'B) = (3 B)
(cons '(3 B) (cdr X))
;;; ^^^^^^^
;;; (cdr X) = ((4 A) (1 C))

(cons '(3 B) '((4 A) (1 C)))
;;; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
;;; (cons '(3 B) '((4 A) (1 C))) = ((3 B) (4 A) (1 C))
'((3 B) (4 A) (1 C))

;;; Q2:
(cons (list 1 (car L)) X)
;;; ^^^^^^^
;;; (car L) = D
(cons (list 1 'D) X)
;;; ^^^^^^^^^^^
;;; (list 1 'D) = (1 D)

(cons '(1 D) X)
;;; ^^^^^^^^^^^^^^^
;;; (cons '(1 D) X) = ((1 D) (2 B) (4 A) (1 C))
'((1 D) (2 B) (4 A) (1 C))

关于lisp - 这些 LISP 表达式如何评估所提供的答案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48067369/

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