gpt4 book ai didi

list - 方案:返回的三个虚线元素的列表异常返回(例如infix运算符?)

转载 作者:行者123 更新时间:2023-12-04 13:43:18 26 4
gpt4 key购买 nike

我是Scheme/Racket的新学员,所以请原谅任何明显的语法错误。

今天在类里面出现了一个方案列表'(a, b, c)应该无效,但是当我们运行它时,它返回了:

>'(a . b . c)  
(b a c)

这没有任何意义。 Afaik,解释器应使用car'a和cdr'b创建一个cons单元,并且'c应该无效。也就是说,口译员在这里所做的事情确实很奇怪。这适用于#lang方案,#lang Racket 等。我们使用DrRacket作为解释器。

有趣的是,
>'(a . b . c . d)

引发异常并死亡。

我很好奇,很想能够理解这一点,因为我是该语言的新手。 Google非常无助(可能因为搜索字词有点含糊),谢谢!

编辑:
可能是因为 '(a . b . c)用b解释为中缀运算符。例如: >(4 . + . 6)返回10。也许解释器像运算符一样使用b?即 (b a c)(类似于 (+ 4 6)),是按固定大小排列的。

实验说:
>(define b +)  
>(define a 4)
>(define c 6)
>(a . b . c)
10

因此,我认为这可以解决问题,但是我仍然不完全理解“”的使用。在这种情况下的运算符。我认为我们已经解决了这个问题,但是任何其他见解将不胜感激!

最佳答案

简短的回答:知道了。有关这种特定于 Racket 的点的使用的更多信息,请参见 Racket 文档中infix的文档。

关于list - 方案:返回的三个虚线元素的列表异常返回(例如infix运算符?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7449865/

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