gpt4 book ai didi

scheme - 为什么 Racket 解释器在写列表之前要加上撇号?

转载 作者:行者123 更新时间:2023-12-02 04:11:30 26 4
gpt4 key购买 nike

为什么写成'(1 2 3)而不是(1 2 3)?

> (list 1 2 3)
'(1 2 3)

最佳答案

Racket 的默认打印机将一个值打印为表达式,该表达式将计算出等效值(如果可能)。它尽可能使用 quote (缩写为 ');如果值包含不可引用的数据结构,则它使用构造函数。例如:

> (list 1 2 3)
'(1 2 3)
> (list 1 2 (set 3)) ;; sets are not quotable
(list 1 2 (set 3))

大多数Lisp 和Scheme 都使用write 函数来打印值。您可以使用 print-as-expression 参数将 Racket 的打印机更改为 write 模式,如下所示:

> (print-as-expression #f)
> (list 1 2 3)
(1 2 3)

参见the docs on the Racket printer了解更多信息。

关于scheme - 为什么 Racket 解释器在写列表之前要加上撇号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36508406/

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