首页 > 解决方案 > SCHEME 从列表到它的值

问题描述

如何转换此列表

(define l list '(1 2 3 4) )

到它自己的值 1, 2, 3 和 4

我需要这样做,因为我有一个功能

(define (push!  stk . args)
(stk 'push! args ) ) 

对于这个其他功能

((eq? msg 'push!) (set! stack (append (reverse args) stack)))

但是我在使用 push 时得到的结果!是列表中的列表,我不想要这个

标签: scheme

解决方案


换一种方式 - 将所有参数收集在一个列表中,然后apply

(apply push! (cons the-stack l))

推荐阅读