如何将可变对推入堆栈,以便我只创建一个堆栈。我有一些代码可以工作,但在列表中的列表中创建列表....这是我认为应该工作,但会抛出错误。
(define func (arg1 arg2 arg3) // Where arg3 is an empty list
(mappend (mcons arg1 arg2) arg3))
上面的代码抱怨并说:“mcar:期望类型的论点;给出...... 任何人都可以告诉我如何得到一个看起来像这样的结果,:( list(arg1 arg2) (arg#arg#) ...)
答案 0 :(得分:1)
(mcons (mcons arg1 arg2) arg3)
或(你的问题不是很清楚)
(cons (list 'a 'b) '())
此外,您的问题中的语法没有任何意义。它应该像
(define func (lambda (arg1 arg2 arg3)
...body...))
答案 1 :(得分:1)
我认为你想要的功能是:
(define (f a b c)
(mlist (mlist a b) c))
这会产生以下结果:
> (f 3 4 (mlist 4 5))
{{3 4} {4 5}}