问题标签 [cdr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
235 浏览

lisp - LISP cdr 函数

如果我做

(cdr x)(NOT (NOT (NOT A))))

但是(cdr (cdr x))NIL

这里发生了什么?

0 投票
3 回答
1549 浏览

f# - F# 中序列的 ​​cons :: 运算符?

是否有更好的代码不需要将序列转换为列表?

0 投票
2 回答
308 浏览

lisp - 为什么使用 car 和 cdr 操作检索元素会导致异常,而 (append) 不会?

假设我得到了这个代码段:

现在,如果我传入解释器(SBCL):

结果是:

它不会崩溃。但是,如果我通过:

它会崩溃。根据(connected-with-bridges)功能,列表的 cdr*islands*会一直传入,直到不能再继续。第一次*islands*传入时(connected-with-bridges),列表将是'((1 9 8 5) (6 4 2 3)。但是,随着递归的进行,第二次将是'(6 4 2 3),在(append)函数中,它将具有:

如果我在解释器中单独运行它显然会崩溃,但如果它在内部运行则不会崩溃,它在(append)内部(连接到桥)。

0 投票
1 回答
8505 浏览

asterisk - 将数据保存到自定义 cdr 字段中

我创建了自定义字段“rec_name”id 表“cdr”,数据库“asteriskcdrdb”。在此字段中,我想存储录音名称。我知道我应该通过在其中一个 .conf 文件中添加这一行来做到这一点,但是在哪里呢?

exten => s,1,set(CDR(rec_name)=${CALLFILENAME})

我也可以通过sql语句来完成,但我不知道将调用细节保存到数据库中的文件在哪里。

0 投票
2 回答
2067 浏览

lisp - 为什么 caddr[(ABC)] = C?

理想情况下在 LISP 中:

但书上说答案是C。谁能解释一下?

非常感谢。

0 投票
3 回答
1269 浏览

python - Python中的正确列表和递归尾部

在各种 Lisps 中,正确的列表nil(空值)或cons单元格,其中第一个(head,first,car)值指向一个值,第二个(tail,rest,cdr)指向另一个正确的列表。其他各种函数式编程语言都实现了这种头尾功能,包括 Erlang 和 Scala。在 Common Lisp 和 Emacs Lisp 中,您可以无限递归地找到列表的尾部:

它会产生nil。我想在 Python 中模拟这种行为。当然,为了性能,我最好坚持使用经过大量优化的本机数据类型,所以这只是为了练习。我的代码是:

但是,现在调用tail会进入递归并导致最大递归深度错误。我怎样才能使如下表达式成为可能?换句话说,我如何在 Python 中创建适当列表的功能?

相关问题,但没有回答我的问题:LISP cons in python

0 投票
1 回答
1559 浏览

scheme - Scheme中的可变参数函数

我必须在 Scheme 中定义一个采用以下形式的可变参数函数: (define (n-loop procedure [a list of pairs (x,y)])其中对的列表可以是任意长度。

每对指定一个下限和上限。也就是说,以下函数调用:(n-loop (lambda (x y) (inspect (list x y))) (0 2) (0 3))产生:

显然,汽车和 cdr 将不得不参与我的解决方案。但是使这变得困难的规定如下。根本不使用赋值语句或迭代循环(while 和 for)。

我可以使用 while 和 for 来处理它来索引对列表,但看来我必须使用递归。我不想要任何代码解决方案,除非您认为有必要进行解释,但是有人对如何攻击这有建议吗?

0 投票
1 回答
266 浏览

scheme - 高阶过程 - 对构造(cons, car, cdr)

我需要在 Scheme 中创建这个程序:my-cons、my-car、my-cdr。

它应该像这样工作:

(定义 p1(我的缺点 3 8))

(p1 #t)

3

(p1 #f)

8

(我的车 p1)

3

(my-cdr p1)

8

现在,我只有这个:

(定义我的缺点

(λ (xy)

(缺点 xy)

(让 ((a (汽车 (cons xy)))))

但在这段代码中,我不能在定义的 p1 上应用 my-cons 或 my-cdr 有人可以帮我吗?

0 投票
1 回答
408 浏览

c - 从 Asterisk 1.4.21 升级后 chan->cdr 没有数据

我在 C 中有一个遗留的 Asterisk 应用程序,它使用 MySQL 对用户进行身份验证、路由和计费。我将它保留在 Asterisk 1.4.21 中,因为在较新版本的 Asterisk 中没有返回任何 CDR 数据。

显然 1.4.22 https://issues.asterisk.org/jira/browse/ASTERISK-13064中发生了一些变化,完全改变了 CDR-s 的处理方式。不幸的是,没有提供有关如何正确迁移现有代码的有用信息。

他们更改了执行顺序,调用了“h”扩展名并重置了 CDR 数据。

我的代码:

代码的其他部分处理 chan->cdr->billsec 等,但它总是给出 0 值。

成功调用后,我总是从 CLI 获取此日志:

然相同的代码在 1.4.21 上运行良好

我听到的一种解决方案是在 Dial 之前使用 ast_reset() ,但我不确定如何实现它。有关如何调整此应用程序的任何帮助?

0 投票
3 回答
249 浏览

list - 为什么使用 elisp 对列表进行更改?

我有一个关于 elisp 的问题。例如:

我认为(nthcdr 2 trees)返回一个新列表 -(pine birch)并将列表放入setcdr表达式中,这不应该改变trees. 谁能给我解释一下?