- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这可能是我错过的一件简单的事情,但我试图获取一对的 cdr
以及每次调用 (cdr (cons 'a '5) )
返回为 (5)
。我有点明白为什么会这样,但是我怎样才能让它在没有括号的情况下返回呢?
我不想使用展平
,因为我想要得到的(即cdr)本身可能是另一个已经用括号包裹的过程表达式,所以我不想展平列表。
(如果重要的话,我正在努力将 let
表达式转换为 lambda
表达式,这是我正在采取的步骤之一,试图分解 lambda 绑定(bind),以便我可以移动它们)。
最佳答案
当应用于正确的列表时,cdr
将始终返回另一个列表(包括 '()
,即空列表)。
对于正确的列表,我的意思是一个以空列表结尾的列表。例如,当您在后台执行此 (define lst '(4 5))
时,这就是分配给 lst
的内容: (cons 4 (cons 5 '()))
,因此当您计算 (cdr lst)
时,您将获得第一个 cons
的第二个元素,其中恰好是 (cons 5 '())
,它又被打印为 (5)
。
仅提取列表中的第二个元素(不是第一个 cons
的第二个元素,这是 cdr
所做的)可以:
(car (cdr lst))
或简称 (cadr lst)
(第二个)
(define cell (cons 4 5))
或 (define cell '( 4 . 5))
构建一个 cons 单元,然后您可以使用 (car cell)
提取第一个元素,使用 (cdr cell)
提取第一个元素第二个元素。关于方案:获取不带括号的 cdr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8198323/
我最近一直在研究 Scheme 并遇到了一个按以下方式定义的函数: (define remove! (let ((null? null?) (cdr cdr)
我有一个一般的 Angular 问题: 为什么 Angular async管道使用cdr.markForCheck()而不是 cdr.detectChanges() ? 我看到这两种“风格”有两个主要
我想获取通话的持续时间,但混淆了要使用哪个变量 ${CDR(持续时间)} 或 ${CDR(billsec)} Here不清楚${CDR(duration)}从何时开始记录时间 那么我应该使用 ${CD
我正在尝试编写一个脚本来访问不同的服务器,查找特定文件的更新时间并返回进一步处理的时间。问题是当在特定服务器上找不到文件时脚本退出,有人可以帮忙吗? while true do for i in o
我编写了一个使用 car 和 cdr 的大程序,并且执行以下操作: (map car (append (map caddr lists) (map cadr lists)) 当 lists 是下一个格
这可能是我错过的一件简单的事情,但我试图获取一对的 cdr 以及每次调用 (cdr (cons 'a '5) ) 返回为 (5)。我有点明白为什么会这样,但是我怎样才能让它在没有括号的情况下返回呢?
我正在尝试构建一个查询来并发调用我上传到 MySQL 的 Asterisk CDR。 我已经尝试了位于这些线程上的以下示例: mysql query - peak concurrent calls C
考虑这个列表:((3 (1 (2 15) (8 5))) (1 10)),我想得到它的头部和 body 。正如我想象的那样,程序“汽车”在这里工作:(car '((3 (1 (2 15) (8 5))
如果我这样做 (setq x '(NOT (NOT (NOT (NOT A)))) ) (cdr x) 是 (NOT (NOT (NOT A)))) 但是(cdr (cdr x))是NIL 这是怎
有人可以给我一个关于 car 和 cdr 的变体在Scheme中做什么的基本解释吗? 如果我是正确的,car 将返回列表中的第一项。 cdr 将返回一个不包括第一个元素的列表。 我对这些的其他变体感到
我正在阅读SICP 4.1.3 Evaluator Data Structures (define (make-frame variables values) (cons variables va
我创建了自定义字段“rec_name”id 表“cdr”,数据库“asteriskcdrdb”。在此字段中,我想存储录音名称。我知道我应该通过在 .conf 文件之一中添加这一行来做到这一点,但在哪里
这是我的情况,我能够使用修剪或替换删除空格。但它不会删除每个文件末尾的换行符或换行符。如何在 C# 中删除空格和换行符? 提前致谢。 最佳答案 您可以调用 Trim 方法来处理所有要删除的字符,例如:
谁能精通 lisp 给我解释一下这个笑话?我读过一些关于函数式编程语言的书,知道 CAR/CDR 的意思是地址/递减寄存器的内容,但我仍然不太理解其中的幽默。 最佳答案 在 Lisp 中,链表元素称为
我正在做一个学校的项目,我们得到了一个 .o 和一个相应的 .h 文件。我们需要在 .c 程序中使用 .o 文件中的几个函数。只是将它放在同一个目录中是行不通的。我试图在项目属性中寻找类似的东西,但没
我有数百万个 fasta 格式的序列,想提取 CDR(CDR1、CDR2 和 CDR3)。我只选择了一个序列作为示例,并尝试提取 CDR1,但无法提取 CDR1。 序列:-'FYSHSAVTLDESG
如何仅使用以下三个函数从列表中获取第 2 到第 7 个元素: cons car cdr 例子; > (two-to-seven (list 8 9 5 1 0 3 6 2 4)) > (9 5 1 0
我有一个 SVG 文件,其中包含旋转、半透明、剪切(剪切路径)元素(例如多边形、图像)。该文件在 Inkscape 中完美运行,但对于进一步的图像处理,我也想在 CorelDraw 中使用它。但是在
我试图了解 car 和 cdr 的多个调用如何协同工作。例如,以下示例看起来很简单: (car (cdr '(car (cdr (1 2 3)))) 我的 DrRacket 编译器在运行时输出 '(c
从 Asterisk 1.8 开始,MySQL CDR 存储似乎是内置的(cdr_mysql.so 和 Asterisk 附加组件一样已被弃用)。我配置了 cdr_mysql.conf (与 res_
我是一名优秀的程序员,十分优秀!