gpt4 book ai didi

common-lisp - (eval '(+ 1 2)) 和 (eval (+ 1 2)) 之间的区别?

转载 作者:行者123 更新时间:2023-12-02 06:08:55 27 4
gpt4 key购买 nike

clisp中,有什么区别?

(eval '(+ 1 2))

(eval (+ 1 2))

最佳答案

第一个将传递列表 (+ 1 2),这类似于您编写 (cons '+ (cons 1 (cons 2 nil)),到 eval 函数,然后该函数将计算该表达式,并产生答案 3。表达式 '(+ 1 2) 是一种引用方式一个表达式,这样表达式就可以按字面意思作为数据传递,而不是立即求值。将它传递给 eval 函数将对其求值。

第二个将计算表达式 (+ 1 2) 以获得结果 3,然后将其传递给 eval 函数。一个数字对自身求值,因此它会返回与第一种情况相同的答案,即 3。

关于common-lisp - (eval '(+ 1 2)) 和 (eval (+ 1 2)) 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5638018/

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