Вставка изменяемых пар в изменяемый список - PullRequest
2 голосов
/ 17 января 2011

Как я могу поместить изменяемую пару в стек так, что я создаю только один стек.У меня есть код, который работает, но создает списки в списках внутри списков .... Вот то, что я считаю, должно работать, но выдает ошибку.

(define func (arg1 arg2 arg3) // Where arg3 is an empty list
    (mappend (mcons arg1 arg2) arg3))

Приведенный выше код жалуется и говорит: «mcar: ожидает аргументтипа; дано ... Может кто-нибудь показать мне, как я могу получить результат, который выглядит так: (список (arg1 arg2) (arg # arg #) ...)

Ответы [ 2 ]

1 голос
/ 17 января 2011

Я думаю, что функция, которую вы хотите:

  (define (f a b c)
    (mlist (mlist a b) c))

Это дает следующий результат:

  > (f 3 4 (mlist 4 5))
  {{3 4} {4 5}}
1 голос
/ 17 января 2011
(mcons (mcons arg1 arg2) arg3)

или (ваш вопрос не очень понятен)

(cons (list 'a 'b) '())

Кроме того, синтаксис в вашем вопросе не имеет никакого смысла. Это должно быть что-то вроде

(define func (lambda (arg1 arg2 arg3)
                ...body...))
...