【发布时间】:2016-07-13 00:55:41
【问题描述】:
我在 Guile 工作,需要使用成对存储的过程。如果我在以下示例中存储car:
(define pairA (cons 1 car))
(define pairB '(1 . car))
.. 我只能从第一个表达式计算过程。第二个变成了一个符号,我猜是因为它是一对而不是一个列表:
>(display pairA)
(1 . #<primitive-procedure car>)
>(display pairB)
(1 . car)
为什么第一个示例返回car 作为过程,而不是第二个?我能说的唯一区别是pairA 既是一个列表/对,而pairB 只是一对。有什么方法可以使用(cdr pairB) 作为程序吗?
【问题讨论】:
标签: functional-programming scheme guile