【发布时间】:2021-06-09 04:50:27
【问题描述】:
我是方案计算的新手。
我有一个给定的问题:
(DEFINE (第三个C) (CAR(CDR CDR(C))))
(第三个'(A (B C) (D E) F))
我知道CDR和CAR的概念,但我不明白“第三”会做什么。我读到这是定义“三人组???”的一种方式。
我倾向于将 C 的值替换为第三个语句旁边的第二个语句的值,即‘(A (B C) (D E) F),这是正确的吗?
你能用简单的术语解释一下“第三”在这个给定的情况下做了什么,我该如何解决这个给定的问题?
【问题讨论】:
-
嗯,它返回列表的第三个元素......你没有尝试过吗?
-
虽然
third的实现是无效的,但是内置在racket 等方案实现或SRFI-1 等库中的实现将起作用。它只是caddr的别名,更易于阅读。 -
我们有解决方案吗?这是我的 MS 研究的主题之一。我们的教授只是想我们理论以及 CDR 和 CAR 和 CONS 是如何工作的。我在哪里可以测试这个?
-
下载任何 Scheme 解释器并自己尝试(例如 Racket)。仅仅通过阅读理论,你将如何学习?开始编写一些代码,测试它,看看它运行!